我们正在开发一个Excel插件。 我们发现当用户在打开excel后立即运行VisualBasic代码时,VisualBasic代码失败的问题。
代码从Web服务获取工作簿,并尝试将工作簿中的工作表插入到原始工作簿中。 当用户未与“默认”工作簿交互时,这将始终失败。
我的意思是“默认”是Excel启动时创建的工作簿,或者我按“CTRl + N”。
失败的原因是代码:
Workbooks.Open (url)
关闭默认工作簿。为什么会这样?
仅关闭默认工作簿。如果我们打开另一个工作簿,那么上面的代码就不会关闭它。
我们尝试通过存储对活动工作簿的引用来解决此问题。
Set wkbMyWorkbook = ActiveWorkbook
Workbooks.Open (url)
但是在Workbooks.Open关闭“默认”工作簿之后,引用变量仍然存在且具有内容。
我做错了什么?有人可以帮忙吗?
答案 0 :(得分:0)
关于它为什么会发生,我没有答案,但作为一种解决方法的想法,如果你先写一些东西到工作表上,它仍然会发生吗?例如:
cells(1,1)="x"
cells(1,1).ClearContents
答案 1 :(得分:0)
在执行Workbooks.Open...