Merhaba Arkadaşlar,
Ben özel bir şirkette depo yönetimi ile ilgili çalışmaktayım ve işlemleri SAP programı üzerinden yapmaktayım. Programın kendi içinde işim ile ilgili tüm alanlara hakimim ama artan iş yoğunluğu sebebiyle proğram içinde kullandığım makrolar ile excelde kullandığım makroları birleştirmek istiyorum.
İlk olarak excel üzerinde SAP programını açarak ana sayfaya geliyorum ve açmak istediğim 1. sayfayı açabiliyorum
daha sonra sap programına yeni boş sayfada açtırıyorum ama bu sefer açılan sayfada kod sap programının ilk sayfasına girildiği için excelde hata almaktayım.
İstediğim şu;
1 - İlk önce SAP açılsın
2 - Daha sonra VL06O ekranı açılsın
3 - Daha sonra yeni pencerede VL10C ekranı açılsın
4 - Ve son olarak da yeni bir pencere açılarak VL06F ekranı açılarak işlem tamamlansın.
1 ve 2. isteği yapabiliyorum 3 ve 4 e geçemiyorum.
Ben özel bir şirkette depo yönetimi ile ilgili çalışmaktayım ve işlemleri SAP programı üzerinden yapmaktayım. Programın kendi içinde işim ile ilgili tüm alanlara hakimim ama artan iş yoğunluğu sebebiyle proğram içinde kullandığım makrolar ile excelde kullandığım makroları birleştirmek istiyorum.
İlk olarak excel üzerinde SAP programını açarak ana sayfaya geliyorum ve açmak istediğim 1. sayfayı açabiliyorum
daha sonra sap programına yeni boş sayfada açtırıyorum ama bu sefer açılan sayfada kod sap programının ilk sayfasına girildiği için excelde hata almaktayım.
İstediğim şu;
1 - İlk önce SAP açılsın
2 - Daha sonra VL06O ekranı açılsın
3 - Daha sonra yeni pencerede VL10C ekranı açılsın
4 - Ve son olarak da yeni bir pencere açılarak VL06F ekranı açılarak işlem tamamlansın.
1 ve 2. isteği yapabiliyorum 3 ve 4 e geçemiyorum.
Kod:
Sub Recep_Anasayfa()
10
On Error Resume Next
Set SapGui = GetObject("SAPGUI")
If Err.Number <> 0 Then
Err.Clear
Set WshShell = CreateObject("WScript.Shell")
Set proc = WshShell.Exec("C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe")
Application.Wait Now + TimeValue("0:00:01")
GoTo 10:
End If
Set Appl = SapGui.GetScriptingEngine
Set Connection = Appl.OpenConnection("HA_CANLI")
If Err.Number = 1000 Then
session.findById("wnd[0]").iconify '
Exit Sub
End If
On Error GoTo 0
Set session = Connection.Children(0)
session.findById("wnd[0]").maximize
session.findById("wnd[0]/usr/txtRSYST-BNAME").Text = "R.A01" 'KULLANICI'
session.findById("wnd[0]/usr/pwdRSYST-BCODE").Text = "123456-" 'PAROLA'
session.findById("wnd[0]/usr/txtRSYST-LANGU").Text = "TR"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]").sendVKey 74
End Sub
Kod:
Sub VL06O()
Dim SapGuiAuto, Application, Connection, session
If Not IsObject(Application) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Application = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(Connection) Then
Set Connection = Application.Children(0)
End If
If Not IsObject(session) Then
Set session = Connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject session, "on"
WScript.ConnectObject Application, "on"
End If
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "VL06O"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[31]").press
session.findById("wnd[0]/usr/ctxtLF_SVAR2").Text = "R.A"
session.findById("wnd[0]/usr/ctxtLF_SVAR2").SetFocus
session.findById("wnd[0]/usr/ctxtLF_SVAR2").caretPosition = 7
session.findById("wnd[0]/usr/btnBUTTON2").press
session.findById("wnd[0]/usr/ctxtIT_VTWEG-LOW").Text = "20"
session.findById("wnd[0]/usr/ctxtIF_VSTEL-LOW").Text = "2008"
session.findById("wnd[0]/usr/ctxtIF_VSTEL-LOW").SetFocus
session.findById("wnd[0]/usr/ctxtIF_VSTEL-LOW").caretPosition = 4
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[0]/tbar[1]/btn[18]").press
session.findById("wnd[0]").sendVKey 74
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").Text = "VL10C"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtST_VSTEL-LOW").Text = "2008"
session.findById("wnd[0]/usr/ctxtST_LEDAT-LOW").SetFocus
session.findById("wnd[0]/usr/ctxtST_LEDAT-LOW").caretPosition = 0
session.findById("wnd[0]/usr/ctxtST_LEDAT-LOW").ShowContextMenu
session.findById("wnd[0]/usr").SelectContextMenuItem "DELSCTX"
session.findById("wnd[0]/usr/tabsTABSTRIP_ORDER_CRITERIA/tabpS0S_TAB2").Select
session.findById("wnd[0]/usr/tabsTABSTRIP_ORDER_CRITERIA/tabpS0S_TAB2/ssub%_SUBSCREEN_ORDER_CRITERIA:RVV50R10C:1020/ctxtST_VBELN-LOW").SetFocus
session.findById("wnd[0]/usr/tabsTABSTRIP_ORDER_CRITERIA/tabpS0S_TAB2/ssub%_SUBSCREEN_ORDER_CRITERIA:RVV50R10C:1020/ctxtST_VBELN-LOW").caretPosition = 0
session.findById("wnd[0]").sendVKey 74
End Sub