[英]Copy from one workbook to specific sheet in another workbook
我想创建一个需要取出 3 个不同报告的脚本。 需要将报告中的信息复制到运行脚本的主文件“Workingfile.xlsm”中的特定工作表中。 第 2 次报告基于从第 1 次报告中提取的数据,第 3 次报告基于从第 2 次报告中提取的日期。
以下是第一次尝试保存为 export.xlsx 并打开文件的第一个报告。
在此之后执行的步骤需要是:
脚本似乎停留在这一行: y.Sheets("EKKO").Range("A1").PasteSpecial
Sub Button1_Click()
If Not IsObject(SAPGuiApp) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set SAPGuiApp = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = SAPGuiApp.Children(0)
End If
If Not IsObject(SAP_session) Then
Set SAP_session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject SAP_session, "on"
WScript.ConnectObject SAPGuiApp, "on"
End If
SAP_session.findById("wnd[0]").maximize
SAP_session.findById("wnd[0]/tbar[0]/okcd").Text = "/nze16n"
SAP_session.findById("wnd[0]").sendVKey 0
SAP_session.findById("wnd[0]/usr/ctxtS_TABLE-LOW").Text = "EKKO"
SAP_session.findById("wnd[0]/usr/ctxtS_TABLE-LOW").caretPosition = 4
SAP_session.findById("wnd[0]/usr/btnGO").press
SAP_session.findById("wnd[1]/tbar[0]/btn[0]").press
SAP_session.findById("wnd[0]/tbar[1]/btn[17]").press
SAP_session.findById("wnd[1]/usr/txtV-LOW").Text = "CV_TEST"
SAP_session.findById("wnd[1]/usr/txtENAME-LOW").Text = ""
SAP_session.findById("wnd[1]/usr/txtENAME-LOW").SetFocus
SAP_session.findById("wnd[1]/usr/txtENAME-LOW").caretPosition = 0
SAP_session.findById("wnd[1]/tbar[0]/btn[8]").press
SAP_session.findById("wnd[0]/tbar[1]/btn[8]").press
SAP_session.findById("wnd[0]/tbar[1]/btn[46]").press
SAP_session.findById("wnd[0]/tbar[1]/btn[43]").press
SAP_session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "C:\Users\admu\Documents\SAP\SAP GUI"
SAP_session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = "export.xslx"
SAP_session.findById("wnd[1]/tbar[0]/btn[11]").press
End Sub
----------------------------------------------------------------------------
Sub CopyFromExportFile()
Dim x As Workbook
Dim y As Workbook
Set x = Workbooks("export.xlsx")
Set y = Workbooks("Workfile.xlsm")
x.Sheets("Sheet1").Range("A1").Copy
y.Sheets("EKKO").Range("A1").ClearContents
y.Sheets("EKKO").Range("A1").PasteSpecial
x.Close
y.Sheets("EKKO").Columns(2).Copy
End Sub
我的订单错了……订单需要先clear
,然后copy
paste
……还需要对代码行进行一些小的调整。
Sub CopyFromExportFile()
Dim x As Workbook
Dim y As Workbook
Set x = Workbooks("export.xlsx")
Set y = Workbooks("Workfile.xlsm")
y.Sheets("EKKO").Cells.Clear
x.Sheets("Sheet1").Cells.Copy
y.Sheets("EKKO").Range("A1").PasteSpecial
Application.CutCopyMode = False
x.Close
y.Sheets("EKKO").Columns(2).Copy
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.