Anonymní profil ScriptMan – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil ScriptMan – Programujte.comAnonymní profil ScriptMan – Programujte.com

 

Příspěvky odeslané z IP adresy 62.159.133.–

ScriptMan
Visual Basic › VB Script ze SAPu do excelu
17. 10. 2013   #182497

#2 ScriptMan
Dodatok:

Ked by bol tvoj kod VBA v excelu a nie VBS, ako som si ja myslel, tak musis pouzit tvoj originalny kod len s dvoma malymi zmenami:

Sub test()

Dim application

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]/tbar[0]/okcd").text = "co03"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtCAUFVD-AUFNR").text = "6511850"
session.findById("wnd[0]").sendVKey 0
PODLOZKA = session.findById("wnd[0]/usr/txtCAUFVD-MATXT").text
session.findById("wnd[0]/tbar[0]/btn[3]").press
session.findById("wnd[0]/tbar[0]/btn[3]").press

Windows("SGA.xlsm").Activate
Sheets("Sheet1").Select
Range("A1").Value = PODLOZKA

End Sub

S pozdravom

ScriptMan

ScriptMan
Visual Basic › VB Script ze SAPu do excelu
17. 10. 2013   #182493

#1 Nicolas
Ahoj Nicolas,

prepac, ale ja neovladam cestinu. Ale dufam, ze mi budes rozumiet. Hladal som nieco v internete a nahodou som uvidel tvoju otazku. Takze by som ti navrhol, aby vyskusal nasledovny kod:

Sub test()

Dim application

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]/tbar[0]/okcd").text = "co03"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtCAUFVD-AUFNR").text = "6511850"
session.findById("wnd[0]").sendVKey 0
PODLOZKA = session.findById("wnd[0]/usr/txtCAUFVD-MATXT").text
session.findById("wnd[0]/tbar[0]/btn[3]").press
session.findById("wnd[0]/tbar[0]/btn[3]").press
 

on error resume next
 Set xclApp = GetObject(, "Excel.Application")
 If Err.Number <> 0 Then
   Err.Clear
   Set xclApp = CreateObject("Excel.Application")
 End If


Set xclwbk = xclApp.Workbooks.Item("SGA.xlsm")

If Err.Number <> 0 Then
   Err.Clear

  'tu je tvoj udaj, kde sa nachadza tvoja mapa v excelu, ked by bola zatvorena, napr.

   myPath = "c:\tmp\ "

  Set xclwbk = xclApp.Workbooks.Open(myPath & "SGA.xlsm")

End If

 on error goto 0
    
Set xclSheet = xclwbk.Worksheets(1)


xclsheet.Cells(1,1).Value = PODLOZKA

Set xclsheet = Nothing

Set xclwbk = Nothing
set xclapp = Nothing
 

End Sub

Prajem ti vela uspechov pri testovani.

ScriptMan

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý