Используйте VBA с диалогом Word FormatFont, чтобы изменить текстовое имя Контент Контроля - PullRequest
0 голосов
/ 21 января 2020

Я пробовал различные способы, чтобы позволить пользователю легко обновить текстовое имя шрифта в паре элементов управления содержимым Word в шаблоне контракта. Существует форма, используемая для редактирования текста элемента управления, которая может иметь командную кнопку для запуска процедуры. Я хотел бы упростить и изолировать пользователя от элементов управления контентом, которые являются деликатными вещами;)

Это то, что я хотел бы сделать (я пробовал много вариантов этого кода):

Dim dlg As Dialog

' Initialize the dialog

Set dlg = Dialogs(wdDialogFormatFont)

' Open the font dialog

dlg.Show

' Set the contentcontrols' text font name to the chosen one from the font dialog
ThisDocument.ContentControls(1).Range.Font.Name = Dialogs(wdDialogFormatFont).Font.Name

Ответы [ 2 ]

0 голосов
/ 06 февраля 2020

Это работает ... Я записал макрос, чтобы получить ответ. Извините, что беспокою вас всех:

Set dlg = Dialogs(wdDialogFormatFont)

' Open the font dialog

dlg.Show

' Show the selected font name

MsgBox Selection.Font.Name

... любой атрибут шрифта из диалогового окна шрифта можно получить из свойства .Font, а затем применить к любому тексту, который вы будете sh; -)

0 голосов
/ 21 января 2020

Вместо dlg.Show используйте dlg.Display. Метод Show сочетает в себе Display и Execute, поэтому вы не сможете применить выбранный шрифт.

См. справочник VBA для получения дополнительной информации.

Редактировать:

'check that the user pressed OK
If dlg.Display = -1 Then
  MsgBox dlg.Font
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...