Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1440to1444
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - Speichern nur als *.xlsm erlauben

VBA - Speichern nur als *.xlsm erlauben
07.08.2015 08:42:12
Cosmo
Liebe Community,
ich hoffe mir kann geholfen werden:
Ich möchte, dass man eine Arbeitsmappe ausschließlich als *.xlsm abspeichern kann.
Also entweder kann man im Speichern unter Befehl nur noch "Arbeitsmappe mit Makros" auswählen oder man graut den Speichern und Speichern unter Befehl aus und baut eine Schaltfläche ein, die bei Klick die Arbeitsmappe als *.xlsm abspeichert (in einen Ordner den man dann auswählen kann).
Ist das möglich, so wie ich mir es vorstelle?
Vielleicht noch kurz der Sinn dahinter: Das Excel funktioniert nur mit Makros, wenn ich dass aber an Kunden verschicke speichern sie es oft einfach als *.xlsx ab und schicken es ausgefüllt zurück - dann darf ich die Makros wieder reinmachen, und zwar in jedes einzelne Excel :-/

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Speichern nur als *.xlsm erlauben
07.08.2015 08:48:09
Rudi
Hallo,
schlechte Karten.
Was ist bei deaktivierten Makros? Das ist bei uns Standard, wenn eine .xlsm aus einer Email heraus geöffnet wird.
Gruß
Rudi

AW: VBA - Speichern nur als *.xlsm erlauben
07.08.2015 09:01:55
Daniel
Hi
du kannst das SAVEAS im BeforeSave-Event der Datei abfangen.
dort programmiest du dann die SpeichernUnter-Sequenz nach, dh du fragst den Dateinamen ab, prüft ob die Datei bereits besteht und wenn ja, fragst du nach, ob sie überschrieben werden soll usw.
beim Speichern verwendest du dann den eingegebenen Dateinamen, aber du stellst das Dateiformat fest ein.
dazu folgenender Code ins Modul "Diese Arbeitsmappe"
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Datei As Variant
If SaveAsUI Then
Cancel = True
Do
Datei = Application.GetSaveAsFilename
If VarType(Datei)  vbString Then Exit Do
Datei = Left(Datei, InStrRev(Datei, ".")) & "xlsm"
If Dir(Datei)  "" Then
Select Case MsgBox("Datei existiert schon, überschreiben?", vbQuestion +  _
vbYesNoCancel)
Case vbYes
Kill Datei
Me.SaveAs Datei, xlOpenXMLWorkbookMacroEnabled
Exit Do
Case vbNo
Case vbCancel
Exit Do
End Select
Else
Me.SaveAs Datei, xlOpenXMLWorkbookMacroEnabled
Exit Do
End If
Loop
End If
End Sub
Gruß Daniel

Anzeige
AW: VBA - Speichern nur als *.xlsm erlauben
07.08.2015 14:12:07
Cosmo
Verdammt Daniel, das ist gut!
Danke dir vielmals!

AW: VBA - Speichern nur als *.xlsm erlauben
07.08.2015 09:39:03
Daniel
Hi
dann schreibe dir doch eine Vorlagendatei, welche die notwendigen Makros enthält und zusätzlich ein Makro, welches die Daten aus den zurückgeschickten Dateinen in die Vorlagendatei kopiert und diese dann erneut speichert.
Dann musst du nicht die makros einzeln ergänzen.
Gruß Daniel

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige