当vba在新应用程序上使用saveas方法时,Excel 2016崩溃

当vba在新应用程序上使用saveas方法时,Excel 2016崩溃,vba,excel,Vba,Excel,我尝试使用Workbook.SaveAs方法以特定名称保存新工作簿。我发现它在运行代码的应用程序中运行良好。但导致excel在新应用程序中崩溃。有什么问题吗? Windows 10 Pro上的Excel 2016。 代码如下: Sub test() Dim this_app As Application Set this_app = Application Dim new_app As Application Set new_app = New Applicati

我尝试使用Workbook.SaveAs方法以特定名称保存新工作簿。我发现它在运行代码的应用程序中运行良好。但导致excel在新应用程序中崩溃。有什么问题吗? Windows 10 Pro上的Excel 2016。 代码如下:

Sub test()
    Dim this_app As Application
    Set this_app = Application
    Dim new_app As Application
    Set new_app = New Application
    new_app.Visible = True
    Dim wb As Workbook
    Set wb = this_app.Workbooks.Add
    wb.SaveAs Filename:="new_file_name1"
'above SaveAs succeed
    Set wb = new_app.Workbooks.Add
    wb.SaveAs Filename:="new_file_name2"
'above SaveAs cause excel crash
End Sub
如果我使用
SaveCopyAs
方法(下面的代码),两者都可以。但我仍然想知道为什么
SaveAs
导致Excel崩溃

Sub test()
    Dim this_app As Application
    Set this_app = Application
    Dim new_app As Application
    Set new_app = New Application
    new_app.Visible = True
    Dim wb As Workbook
    Set wb = this_app.Workbooks.Add
    wb.SaveCopyAs Filename:="new_file_name1.xlsx"
'above SaveCopyAs succeed
    Set wb = new_app.Workbooks.Add
    wb.SaveCopyAs Filename:="new_file_name2.xlsx"
'above SaveCopyAs also succeed
End Sub

以下是我的作品(Excel 2013):


我猜想您的问题出在app.Visible中,或者您已经有一个名为
new\u file\u name2的文件,因此它崩溃了。尝试更改文件,并始终在代码顶部添加
选项Explicit

当您将
app.Visible
更改为
new\u app.Visible
?不,这只是键入错误。app.Visible应该是
new\u app.Visible
,这是键入错误。工作路径为空,没有文件。我尝试了
选项Explicit
,但没有帮助。
Option Explicit

Sub TestMe()

    Dim this_app    As Application
    Set this_app = Application
    Dim new_app     As Application
    Set new_app = New Application

    new_app.Visible = True

    Dim wb As Workbook

    Set wb = this_app.Workbooks.Add
    wb.SaveAs Filename:="new_file_name11"

'above SaveAs sucessed
    Set wb = new_app.Workbooks.Add
    wb.SaveAs Filename:="new_file_name22"
'above SaveAs cause excel crash

End Sub