Excel流程不会关闭VBA

时间:2018-07-12 14:54:27

标签: excel vba ms-word exit

我看到我的问题弹出了好几次,但没有一个答案对我有用。所以让我向您介绍我的问题:
我从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

我希望您能帮我解决这个问题:)

1 个答案:

答案 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