Прикрепление формы VBA к приложению Outlook - PullRequest
0 голосов
/ 23 апреля 2020

Я создаю настраиваемую форму для встреч в Outlook для проекта (добавьте запрос на организацию питания на встречу) - это мой первый родео при выполнении этого - и я вычеркну большое время, независимо от того, насколько интенсивно (и не удается ) Гугл-фу.

Открыв новую встречу, на вкладке разработчика я выбираю «Дизайн этой формы». Я go на вкладку "(P.2)" и создаю глупую простую форму с двумя объектами ... CheckBox1 и TextBox1. В свойствах TextBox1.Visible имеет значение False. Нажмите View Code и введите следующее ...

   Private Sub CheckBox1_Click()
    if CheckBox1.value=True Then
      Me.TextBox1.Visible = True
     Else Me.TextBox1.Visible = False
    End If  
   End sub

Затем я нажимаю «Run This Form» и вижу / нажимаю CheckBox1, но ничего не происходит. Если бы я мог сделать это, я мог бы быть в бизнесе. Но это не так. Итак, я ищу обходной путь.

Ухватившись за стр aws, я открываю «Visual Basi c» и делаю в основном то же самое - создаю форму «UserForm1» с теми же двумя объектами и добавляю один и тот же код. Нажмите кнопку go, и она будет работать, как и ожидалось. TextBox1 появляется и исчезает с состоянием CheckBox1.

Поскольку я могу сделать функцию кода, я бы собрал все, что мне нужно, в редакторе Visual Basi c, однако ... Вот проблема - у меня абсолютно нет представления о том, как получите форму, которую я создаю здесь, в приложении Outlook в виде вкладки, кнопки или чего-то еще. По сути, я хочу, чтобы пользовательская форма VBA editor была выбрана в любом назначении. Я смотрел учебные пособия, прочитал do c, видел что-то о создании макроса - но ничего не было написано / заявлено достаточно глупо, чтобы я мог следовать ему.

Итак, мой вопрос: как мне получить UserForm1 встроенный редактор VBA для отображения в новой встрече при нажатии кнопки в Outlook?

1 Ответ

1 голос
/ 23 апреля 2020

Вам необходимо добавить обработчик событий Click для элемента управления CheckBox, а не просто вставить код в пользовательскую форму.

После обновления безопасности от 13 июня 2017 года пользователи обнаружили, что опубликованные пользовательские формы больше не работают потому что VBScript за формой и некоторые элементы управления по умолчанию заблокированы. См. Изменения безопасности пользовательской формы и Сценарий пользовательской формы теперь отключен по умолчанию для получения дополнительной информации.

Microsoft отключила пользовательские функции скрипта формы. Если вам нужно, чтобы он был включен, вам нужно установить два ключа, один для включения сценариев, а второй с именем класса сообщения для каждой формы, в которой есть код. Например:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Outlook\Security
DWORD: DisableCustomFormItemScript
Value: 0 (to enable)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Outlook\Forms\TrustedFormScriptList
REG_SZ: IPM.Contact.custom-form-name
Value: (leave blank)

В некоторых случаях формы во вторичных почтовых ящиках и папках Publi c по-прежнему не работают после настроек раздела реестра. Чтобы исправить это, включите сценарии в центре управления безопасностью:

  1. Нажмите File> Options. Затем выберите Trust Center> Trust Center Settings> Email Security.
  2. В разделе Script in Folders установите флажки для Allow script in shared folders и Allow script in Public folders и снова нажмите OK и OK, чтобы закрыть из windows.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...