相关疑难解决方法(0)

COM错误?两次打开工作簿会导致参考文献被破坏

感谢fuglede提出这个我注意:

这是一个COM错误吗?

我打开Excel工作簿A,然后打开工作簿B(两个都在单元格A1中有一些标识文本).

然后我再次尝试打开工作簿A并将该引用保存在一个新变量中a2.但a2现在指向工作簿B!

使用win32com在Python中重现了这种完全相同的行为.所以这不是一个特别的VBA问题,而是更普遍的COM问题.(也就是说,也可能是在C#等,但尚未确认.)

到底是怎么回事?

VBA代码:( Python win32com代码类似.)

'Open a couple of workbooks
Dim a As Workbook, b As Workbook, a2 As Workbook
Debug.Print "Set a = a.xlsx..."
Set a = Application.Workbooks.Open("H:\a.xlsx")
Debug.Print "a:  " & a.Name
Debug.Print "Set b = b.xlsx..."
Set b = Application.Workbooks.Open("H:\b.xlsx")
Debug.Print "b:  " & b.Name
Debug.Print "a:  " & a.Name

'Attempt to re-open workbook a.xlsx and keep reference in a new variable
Debug.Print "Set a2 = a.xlsx..." …
Run Code Online (Sandbox Code Playgroud)

com excel vba

7
推荐指数
1
解决办法
148
查看次数

标签 统计

com ×1

excel ×1

vba ×1