Обновить список автозамены office

Я использую VBA для управления списком автозамены Office в реальном времени. По большей части у меня модификация работает, вызывая методы автозамены в Word. Проблема в том, что только Word знает, что изменение было внесено. Есть ли способ запустить другие приложения Office (Outlook, PowerPoint) для обновления автозамены, чтобы они работали из обновленного списка? Похоже, что что-то происходит, когда вы вручную переходите к экрану параметров автозамены, который информирует приложения о том, что произошло изменение, поэтому я надеюсь автоматизировать его (без отображения какого-либо диалогового окна). Любое понимание очень ценится.

Спасибо

1
0
72
1

Ответы 1

Вы хотите реализовать функциональность в Outlook. Однако в Outlook нет объекта автозамены.

В объектной модели Outlook при условии, что сообщение отображается в инспекторе, Application.ActiveInspector.WordEditor.Application предоставит вам объект Word Application, который предоставляет свойство автозамены.

Вы можете обратиться к следующему коду, чтобы получить объект документа.

Dim oDoc As Word.Document   ' Or add a reference to the Microsoft Word Object Library for IntelliSense
    Dim oMail As Outlook.MailItem

    If TypeOf Application.ActiveInspector.CurrentItem Is Outlook.MailItem Then
        Set oMail = Application.ActiveInspector.CurrentItem
    Else
        Exit Sub
    End If

    Set oDoc = oMail.GetInspector.WordEditor

Спасибо, что нашли время ответить, но я не думаю, что это доходит до того, что я пытаюсь сделать. Мне нужны Outlook и PowerPoint, чтобы распознать изменение в списке автозамены с помощью некоторого механизма (например, перезагрузить его из файла ACL, воспроизвести в коде действие ручного изменения списка автозамены через диалоговое окно «Параметры автозамены» и т. д.). Похоже, это, наверное, невозможно.

rimetree 17.09.2018 20:49

Другие вопросы по теме