Макрос изменяет функциональность, когда назначается как кнопка в Word 2016

397
theforestecologist

Когда я создаю макрос SaveAs в Word 2016, он работает по-другому, когда я назначаю его на командную кнопку на ленте (или на панели быстрого доступа).

Macro:

Sub saveAs() Application.FileDialog(msoFileDialogSaveAs).Show  End Sub 

Ожидаемый / желаемый эффект:

  • Откройте диалоговое окно «Сохранить как».

Что это на самом деле делает:

  • В редакторе VBA : он работает как положено и открывает окно SaveAs.

    • Это верно независимо от того, нажму ли я кнопку запуска или использую F5 (ярлык запуска).
  • В списке макросов (т. Е. После выбора «Просмотр макросов»): снова запускается, как и ожидалось, после нажатия кнопки «Выполнить».

  • Как макрокоманда Button : не выполняет нужного действия

    • Если ранее файл не был сохранен, кнопка макроса сохраняет файл как «Doc1.docx», не открывая диалоговое окно «Сохранить как».

    • Если файл был ранее сохранен, кнопка просто действует как кнопка Сохранить и сохраняет текущее состояние в существующий файл (опять же, без открытия диалогового окна).

Мой вопрос:

Почему это происходит и что я могу сделать, чтобы все заработало как положено?


Спецификации: Word 2016 MSO (16.0.8229.2073) 32-разрядная на компьютере с Windows 7

Примечание. Это сообщение является ответом на проблему, с которой я столкнулся при решении этого вопроса .


Обновить:

Я испытываю тот же эффект, когда я использую Dialogs(wdDialogFileSaveAs).Showили дажеDialogs(wdDialogFilePrint).Show.

  • Опять же, в обоих случаях желаемый эффект возникает в редакторе VBA, но кнопка, назначенная макросу, действует по-разному (и нежелательно).

Update2:

Я испытываю тот же недостаток функциональности после обновления до [текущей] самой последней версии: 16.0.8229.2086

0
Примечание: у меня есть дюжина других макросов, которые * работают как положено *, когда назначены в качестве кнопки ленты. (Например, макросы `Selection.Find` и` Selection.InsertSymbol`). Так что это может быть связано с тем типом действия, которое я пытаюсь выполнить ??? theforestecologist 6 лет назад 0

1 ответ на вопрос

0
wizlog

Я решил проблему, опубликованную в вашем другом вопросе, просто переименовав макрос, убедившись, что он находится в обычном документе, и переназначив ему кнопку.

Надеюсь это поможет.

Похожие вопросы