PDA

Vollständige Version anzeigen : VBA speichert nicht ab


Stefan67!
03.09.2019, 08:53
Hallo zusammen,

habe eine docm-Datei, die ich mittels VBA abschliessend unter einem anderen Namen abspeichen möchte. (Name und Pfad sind dem Bediener überlassen, daher keine Festlegung)

Mit diesem Code

Set dlgSaveAs = Application.FileDialog FileDialogType:=msoFileDialogSaveAs)

With dlgSaveAs
.FilterIndex = 2
.Show
End With

End Sub

öffnet sich das Speicherfenster, ich kann Pfad und Dateinamen eingeben und nach ENTER schließt sich das Fenster - aber gespeichert ist nix, der Dateiname ist unverändert.
Manuell kann ich die Datei ohne Probleme unter anderem Namen neu speichern.


Wer kann mir sagen, wo hier das Problem liegt?

Mase
03.09.2019, 11:40
Hi,

a) in der Referenzierung
und
b) der Speicherbefehl fehlt

Der Dialog bringt dir nur die Info des Dateinamens, wenn der User nicht auf abbrechen geklickt hat.

Kopiere diesen Code, als mögliches Schema von vielen, in die .docm in ThisDocument

Sub SaveAsA()
Dim dlgSaveAs As FileDialog
Dim oDoc As Document
'
Set oDoc = ThisDocument
Set dlgSaveAs = Application.FileDialog( _
FileDialogType:=msoFileDialogSaveAs)
With dlgSaveAs
.FilterIndex = 2
.Show

If Not .SelectedItems.Count = 0 Then
oDoc.SaveAs2 dlgSaveAs.SelectedItems(1), fileformat:=wdOpenFormatAllWordTemplates
End If

End With

Set dlgSaveAs = Nothing: Set oDoc = Nothing
End Sub


Wenn Du es nicht in ThisDocument haben möchtest, dann in eine Prozedur auslagern und das Object oDoc entsprechend referenzieren.

Stefan67!
03.09.2019, 12:48
Super, klappt, vielen Dank

Mase
03.09.2019, 13:46
Gerne. Feedback ist immer gern erwünscht.
Wie?
Gerne auch links das mittlere Symbol nutzen :thumbsup: