我编写了一个DLL,并在Excel VBA中使用了它的一些功能。我在调用DLL之后插入了一个断点。当它到达那里时,我收到错误“此时无法进入中断模式”。代码是:
Public tester As Finance.Root
Sub testing()
Set tester = New Finance.Root
Set aa = Sheets(1).Range("A1")
Call tester.startUp(aa)
MsgBox ("HI")
End Sub
正在调用的DLL的第一部分是:
Sub startUp(excelLink)
Set MB = excelLink.Application.ActiveWorkbook
Set oExcel = excelLink.Application
oExcel.DisplayAlerts = False
Call fillGlobals
MB.Sheets.Add Type:=appPath & "\scripts\TestGLPage.xls"
Set HP = MB.Sheets("Home Page")
For Each sht In MB.Sheets
If sht.Name <> HP.Name Then sht.Delete
Next sht
WhichGL.Show 1
End Sub
编辑:我在运行DLL后添加了一个msgbox(请参阅更新的代码),并弹出消息框。在消息框之后,我收到错误消息“无法进入中断模式”。这让我相信它与运行DLL无关。我会收到该错误消息的任何其他原因? 任何帮助将不胜感激。
答案 0 :(得分:0)
看起来似乎(在谷歌搜索一段时间后)是由于DLL在执行期间删除了纸张而无法进入中断模式。似乎删除工作表是导致不进入中断模式的原因。似乎没有人解释这个原因。
如果有人为此做了解决方法,我会很高兴。我在大型项目中添加和删除工作表。