【发布时间】:2018-07-17 23:09:07
【问题描述】:
我正在尝试创建一个在打开工作簿时运行的代码。我尝试使用 Auto_open 和 workbook_open (在 ThisWorkbook 对象内),但我对它们都有问题。问题是代码需要我正在打开的工作簿中的信息正如您在这段代码中看到的那样:
Sub Auto_Open()
Dim fileNam As String
Dim text As String
Dim answer As String
Dim question As String
Dim quesPos As Integer
MsgBox "add-in start"
'On Error GoTo GetOut
fileNam = ThisWorkbook.FullName
jsonFile = Replace(jsonFile, "xls", "survey.descriptor.json")
Open jsonFile For Input As #2
pos = 1
ThisWorkbook.Sheets("Result").Select
'The code gives the error here
由于 Excel 文件尚未打开,因此在获取文件名时会出错。如何在代码打开后执行代码?
【问题讨论】:
-
改用
ThisWorkbook.FullName。 -
Workbook_Open() 宏似乎与您在上面发布的代码一起使用您的代码。
-
我用 workbook_open() 进行了测试,但它不起作用......我不得不说我正在使用该代码创建一个加载项,然后将其添加到 excel 中。 ThisWorkbook.FullName 工作,但代码继续,它给了我另一个错误。我会放更多代码来说明它给我的错误