[英]VB6 extracts in Excel 2013
我在遺留VB6中編寫了一些應用程序,這些應用程序內置了提取代碼以創建EXCEL提取。 我們正在從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
這些我在模塊的頂部。
在我的函數中寫入要提取的數據我這樣做......
Set xlApp = New Excel.Application
Set xlBook = XlApp.Workbooks.Add
Set xlSheetA = xlBook.Worksheets.Add
當它到達XLBook - 它掛起,一切都停止工作。 我收到一個錯誤:
此操作無法完成,因為其他程序正忙。 選擇“SwitchTo”激活繁忙程序並更正問題。
現在,在我運行我的提取之前,我確保Excel沒有在后台運行,檢查我去任務管理器 - > 進程並刪除它,如果它在那里。 我究竟做錯了什么? 我該如何更改我的代碼?
EDIT SCREENSHOTS:屏幕上沒有顯示我在我的應用程序中的代碼。 這是一個新項目,只是為了顯示我正在使用的所有代碼。
您的function1在私有子中,應該作為函數調用。 顯示的代碼和屏幕截圖也有所不同。 我已經創建了一個快速示例,它在Excel 2013中運行完美。將子更改為函數...
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,它有一個處於編輯模式的單元格。 在嘗試了很多可能性后,我關閉了屏幕更新和可見性,直到代碼完成。 類似於xlApp.ScreenUpdating = False xlApp.Visible = False
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.