我看到我的问题弹出了好几次,但没有一个答案对我有用。所以让我向您介绍我的问题:
我从Word文档运行我的Makro(仅一个Sub)。作为帮手,我将打开一个新的Excel文件,在其中的剪贴板中格式化文件,然后将其恢复为Word文件。
但是在完成所有操作后,没人能看到我使用了Excel。
但是它不会像我希望的那样作为一个进程关闭。我尝试了所见的所有方法,但似乎无济于事:
Application.ScreenUpdating = False
' declare Excel Objects
Dim appExcel As Excel.Application
Dim wbCalculator As Workbook
Dim wsCalculator As Worksheet
' initialize Excel Objects
Set appExcel = New Excel.Application
Set wbCalculator = Excel.Workbooks.Add
Set wsCalculator = wbCalculator.Sheets(1)
...
"My totally efficient and beautiful Code"
...
' Close Excel
wbCalculator.Saved = True
Set wsCalculator = Nothing
wbCalculator.Close False
Set wbCalculator = Nothing
appExcel.Quit
Set appExcel = Nothing
Application.ScreenUpdating = True
我希望您能帮我解决这个问题:)
答案 0 :(得分:1)
将在此处突出显示两行代码:
Set appExcel = New Excel.Application
Set wbCalculator = Excel.Workbooks.Add
在这里您可以看到您创建了一个名为appExcel
的对象,其目的是使用该对象。但是,您只需要直接而不是 Excel
来引用appExcel
对象模型。这意味着您现在将拥有一个额外的Excel实例,该实例的处理过程不再需要再次寻址或关闭。尝试将其更改为:
Set appExcel = New Excel.Application
Set wbCalculator = appExcel.Workbooks.Add