• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

SAP Script

ozgurpeh

Altın Üye
Katılım
30 Eylül 2007
Mesajlar
383
Excel Vers. ve Dili
2010 Türkçe
Merhaba aşağıdaki kodlar bir script dosyasının içeriğidir. Script dosyasını çalıştırdığımız zaman SAP de kaydettiğimiz bir işlemi tıpkı exceldeki makro kayıtta olduğu gibi bir kayıt dosyası oluşturup onu klasör için atıyor. Ben bu kodu excelde çalıştırmak istiyorum bu mümkün mü ?


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 = "vl02n"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtLIKP-VBELN").text = "683803235"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[14]").press
session.findById("wnd[1]/usr/btnSPOP-OPTION1").press
session.findById("wnd[0]/tbar[0]/okcd").text = "/n"
session.findById("wnd[0]").sendVKey 0
 
Merhaba evet bu kodlari excel vba ilede kullanabilirsiniz zamaninda sap için bir makro yapmistim kodlarida sizin anlattiginiz sekilde hazirlayip excele uyarlamistim.
 
Merhaba evet bu kodlari excel vba ilede kullanabilirsiniz zamaninda sap için bir makro yapmistim kodlarida sizin anlattiginiz sekilde hazirlayip excele uyarlamistim.

Daha fazlasını bekliyordum açıkçası :)


Tapatalk kullanarak iPhone aracılığıyla gönderildi
 
Tam olarak ne bekliyordunuz bilmiyorum ama sordugunuz sorunun cevabini vermek istedim "Ben bu kodu excelde çalıştırmak istiyorum bu mümkün mü ? " hayirli aksamlar
 
Tam olarak ne bekliyordunuz bilmiyorum ama sordugunuz sorunun cevabini vermek istedim "Ben bu kodu excelde çalıştırmak istiyorum bu mümkün mü ? " hayirli aksamlar
Nasıl yapılırın cevabını arıyorum açıkçası


Tapatalk kullanarak iPhone aracılığıyla gönderildi
 
Suan pc basinda degilim yarin daha onceki yaptim dosyayi bulur ozel birsey yapmismiyim yoksa sadece kodlari excel kod sayfasina mi yapistirmisim bilgi veririm ama sap kullanan arkadaşlar varsa yardimci olacaklardir.
 
Suan pc basinda degilim yarin daha onceki yaptim dosyayi bulur ozel birsey yapmismiyim yoksa sadece kodlari excel kod sayfasina mi yapistirmisim bilgi veririm ama sap kullanan arkadaşlar varsa yardimci olacaklardir.

Teşekkürler


Tapatalk kullanarak iPhone aracılığıyla gönderildi
 
Bu dosya ve bu video yardımcı olacaktır.

Excel vba reference de SAP Gui Scripting API nin yüklenmiş olması gerekiyor.


Bu videoyu izledim fakat bu yamayı nasıl yükleyeceğimi bulamadım


Tapatalk kullanarak iPhone aracılığıyla gönderildi
 
Bu videoyu izledim fakat bu yamayı nasıl yükleyeceğimi bulamadım


Tapatalk kullanarak iPhone aracılığıyla gönderildi

Bu iki yöntemi dener misiniz? SAP gui içinden yapmadan direkt excel reference de dll tanımlama ilede yapılıyordu. Şu an tam hatırlamıyorum.
Ancak bu daha kolay gibi duruyor.

https://archive.sap.com/discussions/thread/3168769
https://archive.sap.com/discussions/thread/1787773

Eğer daha önce yüklenmiş ise aktif etmek için bu işlemleri yapın.
https://www.mrexcel.com/forum/excel-questions/468098-control-sap-vba.html
 
Merhaba daha önceki yaptığım dosyada da kontrol ettim excelde kullanmak için bu kodları özel bir durum yok sadece Dim tanımlamalarını yapıp kullanabilirsiniz yeni bir excel dosyası açıp kod sayfasına geçip yeni bir modül ekledim ve verdiğiniz kodları dim tanımlamalarını yapıp çalıştırdım çalıştı bende deneyip sonucu bildirirseniz sevinirim
Kod:
Sub sap()

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 = "vl02n"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtLIKP-VBELN").Text = "683803235"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[14]").press
session.findById("wnd[1]/usr/btnSPOP-OPTION1").press
session.findById("wnd[0]/tbar[0]/okcd").Text = "/n"
session.findById("wnd[0]").sendVKey 0


End Sub
 
Sub sap() 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 = "vl02n" session.findById("wnd[0]").sendVKey 0 session.findById("wnd[0]/usr/ctxtLIKP-VBELN").Text = "683803235" session.findById("wnd[0]").sendVKey 0 session.findById("wnd[0]/tbar[1]/btn[14]").press session.findById("wnd[1]/usr/btnSPOP-OPTION1").press session.findById("wnd[0]/tbar[0]/okcd").Text = "/n" session.findById("wnd[0]").sendVKey 0 End Sub
Kesinlikle bu işimi gördü teşkkürler
 
Rica ederim.
 
Geri
Üst