Vba Excel应用程序在此工作簿上崩溃。保存-其中此工作簿是外接程序
我已经构建了一个外接程序,除了代码之外,它还在其工作表上存储一些对外接程序本身起作用的数据 通过用户界面,用户可以决定从加载项工作簿中删除某些工作表,方法是从用户窗体上出现的Vba Excel应用程序在此工作簿上崩溃。保存-其中此工作簿是外接程序,vba,Vba,我已经构建了一个外接程序,除了代码之外,它还在其工作表上存储一些对外接程序本身起作用的数据 通过用户界面,用户可以决定从加载项工作簿中删除某些工作表,方法是从用户窗体上出现的列表框对象中选择它们的名称,该对象在当前使用的工作簿上调用时显示。因此,我们的想法是: For j = 0 To MyListBox.ListCount - 1 If MyListBox.Selected(j) Then sheetsToDelete.Add ws(j) 'where ws(j) is
列表框
对象中选择它们的名称,该对象在当前使用的工作簿上调用时显示。因此,我们的想法是:
For j = 0 To MyListBox.ListCount - 1
If MyListBox.Selected(j) Then
sheetsToDelete.Add ws(j) 'where ws(j) is the sheet with that name
End If
Next j
上面的代码不是真正的代码,只是一个更好地表达概念的示例。真正的代码运行良好,我已经在调试中进行了测试,但我只是想传达这个概念
完成此操作后,我希望保存更改(即删除图纸后的加载项),到目前为止,我已使用以下工具完成了此操作:
ThisWorkbook.Save
但是,当点击这行代码时,“Excel应用程序不响应,程序将终止”(Excel工作簿完全冻结):
如果工作簿未损坏,我已签入调试,但看起来很好:
。。。这是我的外接程序
。。。它包含了我希望包含的两张纸:
有关于如何调试的提示吗?不幸的是,我不能提供一个完整的可复制的代码片段,我不能…,但如果需要,我可能会提供更多信息。。。有谁遇到过我的一些问题或能给我一个好的提示吗
还有一个案例,这是一个问题。不确定这将如何影响。保存:
ThisWorkbook.IsAddin = False
'Run Code Here
ThisWorkbook.IsAddin = True
@MatteoNNZ如果你不想让他们看到,你就不能关掉屏幕更新吗?你改变了我早晨咖啡的味道。非常感谢,祝你有愉快的一天!修改外接程序文件的内容似乎不是最好的方法。一种解决方法是将这些图纸的.Visible
属性设置为xlVeryHidden
,而不是直接删除它们。