Makro ändert die Funktionalität, wenn es in Word 2016 als Schaltfläche zugewiesen wird


0

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).Showoder 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


Hinweis: Ich habe ein Dutzend anderer Makros, die wie erwartet funktionieren, wenn sie als Multifunktionsleistenschaltfläche zugewiesen werden. (Bsp. Selection.FindMakros und Selection.InsertSymbolMakros). Es könnte also etwas mit der Art der Aktion zu tun haben, die ich ausführen möchte.
theforestecologist

Antworten:


0

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.