I hope you can assist me with the code below. I am trying to export a report from SAP using a recorded SAP GUI Script via VBA on a daily basis. Subsequently I want to copy t
I would solve it as follows:
ExportInvest: (in myTest.xlsm)
. . .
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "S:\FL_DMA\SAP Scripts\test\backup"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = FileName
session.findById("wnd[1]/tbar[0]/btn[0]").press
'new commands
Set wshell = CreateObject("Wscript.Shell")
wshell.Run "c:\tmp\myTest.vbs" & " " & "myTest.xlsm"
End Sub
myTest.vbs:
set xclapp = getObject(,"Excel.Application")
xclapp.Run wscript.arguments(0) & "!ExportInvest_1"
ExportInvest_1: (in myTest.xlsm)
Sub ExportInvets_1()
Dim Today as String
Today = Format$(DateTime.Now, "yyyymmdd__hh-MM-ss")
MsgBox "file open", vbOKOnly, ""
Workbooks("Invest_" & Today).Activate
Worksheets(1).Range("A2:K100").Select
Selection.Copy ThisWorkbook.Worksheets("Input").Range("A2:K100")
End Sub
Regards, ScriptMan
Sorry, I used only a small amount of data for my tests. Therefore, an extension must now be incorporated into the proposed construction.
for example:
ExportInvest: (in myTest.xlsm)
. . .
'Dim FileName As String
. . .
session.findById("wnd[1]/usr/ctxtDY_PATH").Text = "S:\FL_DMA\SAP Scripts\test\backup"
session.findById("wnd[1]/usr/ctxtDY_FILENAME").Text = FileName
session.findById("wnd[1]/tbar[0]/btn[0]").press
Set wshell = CreateObject("Wscript.Shell")
'-----------------------------------------new
wshell.Run "c:\tmp\myTest.vbs" & " " & "myTest.xlsm" & " " & FileName
'-----------------------------------------new
End Sub
myTest.vbs:
set xclapp = getObject(,"Excel.Application")
'-----------------------------------------new
on error resume next
do
err.clear
Set xclwbk = xclApp.Workbooks.Item(wscript.arguments(1))
If Err.Number = 0 Then exit do
wscript.sleep 2000
loop
on error goto 0
'-----------------------------------------new
xclapp.Run wscript.arguments(0) & "!ExportInvest_1"
ExportInvest_1: (in myTest.xlsm)
Public FileName as String
Sub ExportInvets_1()
'Dim Today as String
'Today = Format$(DateTime.Now, "yyyymmdd__hh-MM-ss")
MsgBox "file open", vbOKOnly, ""
Workbooks(FileName).Activate
Worksheets(1).Range("A2:K100").Select
Selection.Copy ThisWorkbook.Worksheets("Input").Range("A2:K100")
End Sub
Regards, ScriptMan