-
Notifications
You must be signed in to change notification settings - Fork 14
/
FB03_upload_file
71 lines (63 loc) · 2.97 KB
/
FB03_upload_file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Sub upload_attachment()
Set SapGuiAuto = GetObject("SAPGUI") 'Get the SAP GUI Scripting object
Set SAPApp = SapGuiAuto.GetScriptingEngine 'Get the currently running SAP GUI
Set SAPCon = SAPApp.Children(0) 'Get the first system that is currently connected
Set session = SAPCon.Children(0) 'Get the first session (window) on that connection
For i = 2 To ActiveSheet.UsedRange.Rows.Count
If Cells(i, 1) = "" Then Exit For
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "/nfb03"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/txtRF05L-BELNR").Text = Cells(i, 1) '"11000040"
session.findById("wnd[0]").sendVKey 0
Filename = Cells(i, 2)
Set Wshell = CreateObject("WScript.Shell")
Wshell.Run "d:\click.vbs " & Filename, 1, False
session.findById("wnd[0]/titl/shellcont/shell").pressContextButton "%GOS_TOOLBOX"
session.findById("wnd[0]/titl/shellcont/shell").selectContextMenuItem "%GOS_VIEW_ATTA"
session.findById("wnd[1]/usr/cntlCONTAINER_0100/shellcont/shell").pressToolbarContextButton "%ATTA_CREATE"
session.findById("wnd[1]/usr/cntlCONTAINER_0100/shellcont/shell").selectContextMenuItem "%GOS_ARL_LINK"
session.findById("wnd[2]/usr/ssubSUB110:SAPLALINK_DRAG_AND_DROP:0110/cntlSPLITTER/shellcont/shellcont/shell/shellcont[0]/shell").selectItem "0000000003", "HITLIST"
session.findById("wnd[2]/usr/ssubSUB110:SAPLALINK_DRAG_AND_DROP:0110/cntlSPLITTER/shellcont/shellcont/shell/shellcont[0]/shell").doubleClickItem "0000000003", "HITLIST"
process_ok = False
For k = 1 To 10
On Error Resume Next
session.findById ("wnd[3]/usr/sub:SAPLSPO4:0300/txtSVALD-VALUE[1,21]")
If Err.Number <> 0 Then
Application.Wait (Now + TimeValue("0:00:01"))
Else
session.findById("wnd[3]/usr/sub:SAPLSPO4:0300/txtSVALD-VALUE[1,21]").Text = Cells(i, 3)
process_ok = True
Exit For
End If
Next k
If process_ok = True Then
session.findById("wnd[3]/tbar[0]/btn[0]").press
session.findById("wnd[2]/tbar[0]/btn[0]").press
session.findById("wnd[1]/tbar[0]/btn[0]").press
Cells(i, 4) = "uploaded successful"
Else
Cells(i, 4) = "uploaded failed"
End If
Next i
End Sub
d:\click.vbs
Dim FileNam2
file_dialog_title ="Storing Files in Documents"
Set Wshell = CreateObject("WScript.Shell")
Do
bWindowFound = Wshell.AppActivate(file_dialog_title)
WScript.Sleep 1000
Loop Until bWindowFound
bWindowFound = Wshell.AppActivate(file_dialog_title)
if (bWindowFound) Then
Wshell.appActivate file_dialog_title
WScript.Sleep 100
Wshell.sendkeys "%n"
WScript.Sleep 100
FileNam2 = WScript.Arguments.Item(0)
Wshell.sendkeys FileNam2
WScript.Sleep 100
Wshell.sendkeys "%o"
WScript.Sleep 100
end if