2
我將數據從一個工作簿複製到另一個工作簿,然後從複製的工作簿中運行一個宏。下面的VBA代碼工作正常。將VBA轉換爲VBScript
VBA代碼
Sub test()
Dim x As Workbook
Dim y As Workbook
Set x = Workbooks.Open("D:\mywork\work_data.xlsx")
Set y = Workbooks.Open("D:\mywork\other_work_data.xlsm")
x.Sheets("myworksheet").UsedRange.Copy
y.Sheets("Sheet1").Range("A1").PasteSpecial
y.Save
x.Close
Application.Run ("other_work_data.xlsm!checkDate")
y.Close
End Sub
現在,我想下面vba
代碼更改爲vbscript
,但它並沒有爲我工作。
VBScript代碼
Sub test()
Dim ExcelApp
Dim x
Dim y
Set ExcelApp = CreateObject("Excel.Application")
Set x = ExcelApp.Workbooks.Open("D:\mywork\work_data.xlsx")
Set y = ExcelApp.Workbooks.Open("D:\mywork\other_work_data.xlsm")
x.Sheets("myworksheet").UsedRange.Copy
y.Sheets("Sheet1").Range("A1").PasteSpecial
y.Save
x.Close
ExcelApp.Application.Run ("other_work_data.xlsm!checkDate")
y.Close
ExcelApp.DisplayAlerts = False
ExcelApp.Application.Quit
Set ExcelApp = Nothing
End Sub
由於我是新來vba
和vbscript
,誰能告訴我,我做錯了嗎?我在堆棧溢出中遇到了類似的問題,但我沒有理清這個問題。
它不起作用?它有多遠?發生什麼錯誤? (嘗試傳遞。完整路徑) –
@AlexK。我沒有得到任何錯誤。也嘗試完整路徑.run。數據沒有從一本書複製到另一本書。 – Sivaprakash
在ExcelApp引用後你需要額外的'Application'語句嗎? ExcelApp已被設置爲應用程序。嘗試從'ExcelApp.Application.Run'(「other_work_data.xlsm!checkDate」)和'ExcelApp.Application.Quit'移除'Application' – Jordan