Excel 加载项 - 获取 "thisworkbook" 的工作簿名称
Excel add-in - get workbook name of "thisworkbook"
我在使用加载项时无法获取工作簿的名称。
我正在尝试开发一个加载项,每次您打开 Excel 并读取打开文件的文件名时 运行s。
如果文件名是XCFIL.SKV
那么做点什么...
这段代码应该可以做到,但事实并非如此。我错过了什么?
代码停止,如果我调试并按 F8 它工作正常,但它不会 运行 自己。
Private Sub Workbook_Open()
If ThisWorkbook.Name = "XCFIL.SKV" Then
MsgBox "y"
End If
End Sub
背景:
基于此声明 代码停止,如果我调试并按 F8 它工作正常,但它不会 运行 自己。 我假设问题取决于与代码不同步的处理器速度(自己的经验)。
解法:
既然是Excel,而且问题好像只出在实例本身的开启上,可以用Application wait or any of the other functions for this matter。
进一步思考:
在这种情况下,我想到了生命周期。 This web page 有一个简洁的 excel 实例生命周期图(随附,因为我将尝试解释该场景)
如您所见,"Application" 是 Excel 应用程序的第一个循环,其次是 "Open",然后是 "Workbook" 对象,可能会发生在这个生命周期"worbook"在"Open"开始时还没有创建,因此,你需要等到excel解决这个问题。
我在使用加载项时无法获取工作簿的名称。
我正在尝试开发一个加载项,每次您打开 Excel 并读取打开文件的文件名时 运行s。
如果文件名是XCFIL.SKV
那么做点什么...
这段代码应该可以做到,但事实并非如此。我错过了什么?
代码停止,如果我调试并按 F8 它工作正常,但它不会 运行 自己。
Private Sub Workbook_Open()
If ThisWorkbook.Name = "XCFIL.SKV" Then
MsgBox "y"
End If
End Sub
背景:
基于此声明 代码停止,如果我调试并按 F8 它工作正常,但它不会 运行 自己。 我假设问题取决于与代码不同步的处理器速度(自己的经验)。
解法:
既然是Excel,而且问题好像只出在实例本身的开启上,可以用Application wait or any of the other functions for this matter。
进一步思考:
在这种情况下,我想到了生命周期。 This web page 有一个简洁的 excel 实例生命周期图(随附,因为我将尝试解释该场景)
如您所见,"Application" 是 Excel 应用程序的第一个循环,其次是 "Open",然后是 "Workbook" 对象,可能会发生在这个生命周期"worbook"在"Open"开始时还没有创建,因此,你需要等到excel解决这个问题。