MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Visual Studio /.NET > Visual Studio .NET (alle Produkte: C#, VB.NET etc.)
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 09.09.2019, 07:47   #1
mischma
MOF User
MOF User
Standard VC# - SAPGUIScript analog VBA

Hallo Zusammen,

mit dem nachfolgenden VBA-Script lese ich div. SAP-Daten aus. Wer kann mir dabei helfen, diesen Code quasi in C# zu "übersetzen".
Im Beispiel durchläuft der Code eine Exceltabelle und gibt die jeweiligen Ergebnisse aus SAP zurück.

Code:

Public Sub Lese_Email_je_DebNr()
   Dim SapGuiAuto, SAP, Connection, Session, GRID
   Dim lStart As Long, lEnde As Long, lRow As Long
   Dim sDebNr As String, sEmail As String
   Dim ws As Worksheet
 
   Set SapGuiAuto = GetObject("SAPGUI")
   Set SAP = SapGuiAuto.GetScriptingEngine
   Set Connection = SAP.Children(0)
   Set Session = Connection.Children(0)
   Set ws = ActiveWorkbook.ActiveSheet
 
   lStart = ws.Cells(65536, 2).End(xlUp).Row + 1
   lEnde = ws.Cells(65536, 1).End(xlUp).Row
 
   With Session
      ' Fenster maximieren
      .ActiveWindow.maximize
 
      ' Schreibe Transaktion ins OK-Feld
      .ActiveWindow.FindByName("okcd", "GuiOkCodeField").Text = "/nXD03"
      .ActiveWindow.sendVKey 0 'ENTER
 
      For lRow = lStart To lEnde
         ' DebNr eingeben und Daten aufrufen
         sDebNr = ws.Cells(lRow, 1)
         .ActiveWindow.FindByName("RF02D-KUNNR", "GuiCTextField").Text = sDebNr
         .ActiveWindow.sendVKey 0 'ENTER
 
         ' Email auslesen
         sEmail = .ActiveWindow.FindByName("SZA1_D0100-SMTP_ADDR", "GuiTextField").Text
         If sEmail = "" Then sEmail = "Keine Email im SAP"
         ws.Cells(lRow, 2) = sEmail
 
         ' Zur vorherigen Seite gehen
         .ActiveWindow.FindByName("btn[3]", "GuiButton").Press
      Next lRow
   End With
End Sub
Vielen Dank und Grüße, Mike

__________________

c

Geändert von mischma (09.09.2019 um 08:40 Uhr).
mischma ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 10.09.2019, 16:07   #2
mischma
Threadstarter Threadstarter
MOF User
MOF User
Jeck Lösung für c#

Hallo,

bin im Internet fündig geworden :-)

Code:

using SAPFEWSELib;
using SapROTWr;
 
// Get the Windows Running Object Table
SapROTWr.CSapROTWrapper sapROTWrapper = new SapROTWr.CSapROTWrapper();
// Get the ROT Entry for the SAP Gui to connect to the COM
object SapGuilRot = sapROTWrapper.GetROTEntry("SAPGUI");
// Get the reference to the Scripting Engine
object engine = SapGuilRot.GetType().InvokeMember("GetScriptingEngine", System.Reflection.BindingFlags.InvokeMethod, null, SapGuilRot, null);
// Get the reference to the running SAP Application Window
GuiApplication SapGuiApp = (GuiApplication)engine;
// Get the reference to the first open connection
GuiConnection connection = (GuiConnection)SapGuiApp.Connections.ElementAt(0);
// Get the first available session
GuiSession SapSession = (GuiSession)connection.Children.ElementAt(0);
 
// Starte Transaktion für offene Aufträge
((GuiOkCodeField)SapSession.ActiveWindow.FindByName("okcd", "GuiOkCodeField")).Text = "/nIW49N";
SapSession.ActiveWindow.SendVKey(0); //ENTER 
Code eingefügt mit dem MOF Code Converter

VG, Mike

__________________

c
mischma ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:10 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.