簡體   English   中英

VB6在Excel 2013中提取

[英]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

很久以前我有類似的問題。 不確定這是否與您的方案有關。 我的代碼更新了一個打開的excel,它有一個處於編輯模式的單元格。 在嘗試了很多可能性后,我關閉了屏幕更新和可見性,直到代碼完成。 類似於xlApp.ScreenUpdating = False xlApp.Visible = False

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM