以编程方式从外部脚本/程序/主机应用程序打开UserForm

时间:2018-04-24 22:28:54

标签: activex userform

鉴于我在以下某项中嵌入了UserForm:

  • 名为c:\myBook.xslm
  • 的Excel工作簿
  • Word文档c:\myDocument.docm
  • 名为c:\myPresentation.ppm
  • 的PowerPoint演示文稿

为了从外部脚本/主机应用程序/程序打开和显示UserForm,我需要使用哪些自动化属性/方法?

例如,假设我在WSH下运行以下JScript:

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

// open UserForm here

如何继续打开UserForm?

注意:我正在寻找一种适用于任意文档的解决方案。这可以手动排除(但不是以编程方式作为脚本的一部分)添加Sub以显示UserForm,可以从外部脚本调用。{/ p>

1 个答案:

答案 0 :(得分:0)

一个想法是覆盖文档打开mehtods。至少对于Microsoft Word和Excel:

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

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

打开word和excel文件时,将显示对话框。

对于Powerpoint来说,它有点复杂:

How to auto execute a macro when opening a Powerpoint presentation?

<强>更新

在问题中的其他信息之后,这不再是解决方案。可以在此处找到如何创建代码并将其添加到VBA项目的起点:https://stackoverflow.com/a/34838194/1306012

此网站还提供了其他信息:http://www.cpearson.com/excel/vbe.aspx