小编Mik*_* PG的帖子

Workbooks.Open返回的文件不同于Filename

我遇到了最奇怪的问题.我前几天在笔记本电脑上写了下面的代码,工作正常.现在,我正在我的桌面上测试它,它已停止工作.

首先,这是我的代码

Dim oApp As Application
Dim oWb As Workbook

Set oApp = New Application
oApp.Visible = True
Set oWb = oApp.Workbooks.Open(Filename:="C:\myFile.xlsx", ReadOnly:=True)

debug.print oWb.name
'returns "SOLVER.XLAM"
' "SOLVER.XLAM" is not "myFile.xlsx'

debug.print oApp.Workbooks.Count
'returns 1

debug.print oApp.Workbooks(1).name
'returns "myFile.xlsx"
Run Code Online (Sandbox Code Playgroud)

现在,我知道解算器是一个插件,并且在创建它时会在新应用程序中加载...但是它如何执行此切换器?我仍然可以找到正确的文件,但我不想冒险在我的Application对象中只有一个文件(或者第一个文件是我加载的文件)的巧合

附加信息

我正在调用从excel实例中执行这个宏,我希望打开一个单独的excel实例,然后"C:\myFile.xlsx"在另一个实例中打开特定的工作簿().

我遇到的关键问题是,当我打开另一个实例,然后添加工作簿并将其设置为我的oWb变量...不知何故,当我稍后调用该oWb变量时,它指的是与我设置的不同的东西至.

'This is how it makes me feel:
Dim x As Integer
x = 5

Debug.Print x
' 12
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba excel-2010

5
推荐指数
1
解决办法
3762
查看次数

标签 统计

excel ×1

excel-2010 ×1

excel-vba ×1

vba ×1