查找是使用VBA还是按用户打开工作簿

时间:2012-08-17 04:31:24

标签: excel-vba excel-2007 vba excel

我有一个带有工作簿打开事件的宏工作簿Excel 2007。 在工作簿开放事件中,我可以找到用户是从Windows打开工作簿还是使用vba从其他工作簿打开...

2 个答案:

答案 0 :(得分:1)

我不确定它是否符合您的需求,但您可以在VBA代码中打开工作簿而不会触发事件:

'Disable Events.
Application.EnableEvents = False

'Open your book.
Workbooks.open(Filename)

'Enable Events.
Application.EnableEvents = True

答案 1 :(得分:0)

如果这符合您的目的:

使用vba打开时,请在打开前更改工作簿的名称。然后在完成后将其更改回来。 Workbook_Open过程只需要检查它所在的工作簿的名称。

更改工作簿的名称

您可以打开它,然后使用SaveAs方法再次使用新名称

关闭它

使用Shell函数

使用Microsoft Scripting Runtime对象。