Temat: zamknięcie okna programu SAP funkcją VB
Cieszę się, że mogłem pomóc:)
Połączenie VB z SAP to super sprawa.
Oszczędza mi mnóstwo czasu.
Ja VBA używam do:
- tworzenia art
- zrzucania danych z różnych kwerend SAP
- zakładania wewnętrznych klientów
no i czasami w zależności od potrzeb robię coś na szybko.
Mam kilka przydatnych wskazówek (być może oczywisce ale może się przydadzą)
1. Aby przyspieszyć skrypt wywołuję go w tzw trybie zminimalizowanym (Iconyfy) co powoduje, że SAP nie musi generować grafik (oszczędność czasu)
Przy niektórych operacjach skróciło mi czas wykonywania skryptu o 40%. Gdy np zakładałem 200 klientów to realny zysk na czasie.
.......................................
'Zapytanie o tryb pracy
x = MsgBox("Tworzyć art. w trybie UKRYTYM?", vbYesNoCancel, "Tryb pracy:")
If x = 7 Then
session.findById("wnd[0]").maximize
ElseIf x = 6 Then
session.findById("wnd[0]").Iconify
Else
GoTo Koniec
End If
........................................
Uwaga - Wywoływać to na początku zaraz po inicjacji połaczenia z SAP - nigdzie indziej w skrypcie nie może pojawić się sekcja
"session.findById("wnd[0]").maximize"
bo znowu skryp będzie działać na pełnym ekranie.
2. Warto też usunąć ze skryptów sekcje kończące się na
"SetFocus" i "caretPosition =" czyli np:
"session.findById("wnd[1]/usr/lbl[0,3]").SetFocus"
"session.findById("wnd[1]/usr/lbl[0,3]").caretPosition = 3"
W zasadzie nic nie wnoszą tylko powiększają skrypt.
pozdrawiam
Kacper