在Excel 2013中提取VB6

我有几个应用程序写在传统的VB6,提取内置的代码创buildEXCEL提取。 我们正在从Excel 2007移动到Excel 2013,我遇到了一些问题。 我正在运行Windows 10.在2007年,这是我的声明和Set语句,曾经工作得很好…

 Option Explicit Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheetA As Excel.Worksheet 

这些我在模块的顶部。

在我的function,写入数据提取我做到这一点…

 Set xlApp = New Excel.Application Set xlBook = XlApp.Workbooks.Add Set xlSheetA = xlBook.Worksheets.Add 

当它到达XLBook – 它挂起,一切停止工作。 我收到一个错误:

此操作无法完成,因为其他程序正忙。 select“切换到”来激活繁忙的程序并纠正问题。

现在,在我运行我的提取之前,我确保Excel不在后台运行,检查我去任务pipe理器 – > 进程,并删除它,如果它在那里。 我究竟做错了什么? 我应该如何改变我的代码?

编辑屏幕截图:屏幕显示不显示我在我的应用程序中的代码。 这是一个新的项目,只是为了显示我正在使用的所有代码。 码 错误

你的函数1在一个私人的子应该被称为一个函数。 你的代码显示和截图也不同。 我已经创build了一个快速的示例,它在Excel 2013中的工作完美。更改子function…

 Option Explicit Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheetA As Excel.Worksheet Private Function function1() Set xlApp = New Excel.Application Set xlBook = xlApp.Workbooks.Add Set xlSheetA = xlBook.Worksheets.Add Set xlSheetA = xlBook.Sheets.Item(1) ''the sheet you want to use xlApp.Visible = True xlApp.ActiveSheet.Cells(1, 1).Value = "TEST" xlApp.Workbooks.Close MsgBox "Excel Done" End Function Private Sub Command3_Click() Call function1 End Sub 

希望这可以帮助。

编辑:见下面的截图,工作正常…

打开Excel

龙回来我有类似的问题。 不知道这是否与你的情况有关。 我的代码正在更新一个打开的Excel中有一个单元格编辑模式。 尝试了很多可能性之后,我closures了屏幕更新和可见性,直到代码完成。 就像xlApp.ScreenUpdating = False xlApp.Visible = False