Wenn ich in Word 2016 ein SaveAs-Makro erstelle, funktioniert es anders, wenn ich es einer Befehlsschaltfläche in der Multifunktionsleiste (oder in der Symbolleiste für den Schnellzugriff) zuordnet.
Makro:
Sub saveAs()
Application.FileDialog(msoFileDialogSaveAs).Show
End Sub
Erwarteter / gewünschter Effekt:
- Öffnen Sie ein Dialogfeld Speichern unter.
Was es tatsächlich macht:
Im VBA-Editor : Es wird wie erwartet ausgeführt und das Fenster Speichern unter geöffnet.
- Dies gilt unabhängig davon, ob ich Run drücke oder F5 (die Run-Verknüpfung) benutze.
In der Makroliste (dh nach Auswahl von "Makros anzeigen"): Wird nach Klicken auf die Schaltfläche "Ausführen" wieder wie erwartet ausgeführt.
Als Makrobefehlsschaltfläche : nicht nicht ausführen gewünschte Aktion
Wenn die Datei zuvor nicht gespeichert wurde, speichert die Makro-Schaltfläche die Datei als "Doc1.docx", ohne jemals ein Dialogfeld Speichern unter zu öffnen.
Wenn die Datei zuvor gespeichert wurde, fungiert die Schaltfläche einfach als Schaltfläche "Speichern" und speichert den aktuellen Status in der vorhandenen Datei (erneut, ohne das Dialogfeld zu öffnen).
Meine Frage:
Warum passiert das und was kann ich tun, damit es wie erwartet funktioniert?
Technische Daten: Word 2016 MSO (16.0.8229.2073) 32-Bit auf einem Windows 7-Computer
Hinweis: Dieser Beitrag ist eine Antwort auf ein Problem mit einer Lösung für diese Frage .
Aktualisieren:
Ich erlebe den gleichen Effekt, wenn ich Dialogs(wdDialogFileSaveAs).Show
oder sogar benutzeDialogs(wdDialogFilePrint).Show.
- In beiden Fällen tritt der gewünschte Effekt erneut im VBA-Editor auf, aber eine dem Makro zugewiesene Schaltfläche verhält sich anders (und unerwünscht).
Update2:
Ich habe nach dem Update auf die aktuellste Version (16.0.8229.2086) den gleichen Mangel an Funktionalität
quelle
Selection.Find
Makros undSelection.InsertSymbol
Makros). Es könnte also etwas mit der Art der Aktion zu tun haben, die ich ausführen möchte.Antworten:
Ich habe das Problem in Ihrer anderen Frage gelöst, indem ich das Makro einfach umbenannt, sichergestellt habe, dass es sich im normalen Dokument befindet, und ihm eine Schaltfläche zugewiesen habe.
Hoffe das hilft.
quelle