Программно открыть пользовательскую форму из внешнего скрипта / программы / хост-приложения - PullRequest
0 голосов
/ 25 апреля 2018

Учитывая, что у меня есть пользовательская форма, встроенная в одно из следующего:

  • книга Excel с именем c:\myBook.xslm
  • документ Word c:\myDocument.docm или
  • презентация PowerPoint с именем c:\myPresentation.ppm

Какие свойства / методы автоматизации мне нужно использовать для открытия и отображения пользовательской формы из внешнего сценария / хост-приложения / программы?

Например, допустим, у меня работает следующий JScript под WSH:

var app = new ActiveXObject('Excel.Application');
app.Visible = true;
var book = app.Workbooks.Open('c:\myBook.xlsm');

// open UserForm here

Как мне перейти к открытию пользовательской формы?

Примечание. Я ищу решение, которое бы работало с произвольным документом. Это исключает ручное (но не программное, как часть сценария) добавление Sub для отображения UserForm, который можно вызвать из внешнего сценария.

1 Ответ

0 голосов
/ 07 мая 2018

Идея заключается в переопределении открытых методов документа.По крайней мере, для Microsoft Word и Excel:

' Word
Private Sub Document_Open()
  UserForm1.Show
End Sub

' Excel
Private Sub Workbook_Open()
  UserForm1.Show
End Sub

При открытии документа Word и Excel появится диалоговое окно.

Для Powerpoint это немного сложнее:

Как автоматически выполнить макрос при открытии презентации Powerpoint?


Обновление

После дополнительной информации в вопросе это неРешение больше.Отправную точку для создания кода и добавления его в проект VBA можно найти здесь: https://stackoverflow.com/a/34838194/1306012

Также этот веб-сайт предоставляет дополнительную информацию: http://www.cpearson.com/excel/vbe.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...