VBA in C++ übersetzen
-
Hallo Alle;
Ich bin grad fertig mit der programmierung eine COMschnittstelle mit C++Builder 2007...
Jetzt möchte ich gern paar funtionen noch haben...Download von excel vergleich von zellen und speicherung in SAP....Was ich tun sollte siehst so aus im VBA code:
Public Sub gDownload()
Dim i As Long
Dim j As Long
Dim l1 As Long
Dim l2 As LongDim saRet() As String
Dim saParam() As String
Dim saErr() As String
Dim sMessId As String
Dim sQuery As String
Dim sError As String
Dim lRetCode As Long'*** INI-Datei mit Werten schreiben
Call gWriteIni'*** Schnittstellen-DLL laden
Set oIFace = CreateObject("SAPBAPI.clsInterface")ReDim saParam(9)
'*** Messgerät-Id übergeben
sMessId = Tabelle1.Cells(2, 2)'*** Parameterarray füllen
saParam(0) = Tabelle1.Cells(3, 2)
saParam(1) = Tabelle1.Cells(4, 2)
saParam(2) = Tabelle1.Cells(5, 2)
saParam(3) = Tabelle1.Cells(6, 2)
saParam(4) = Tabelle1.Cells(7, 2)
saParam(5) = Tabelle1.Cells(8, 2)
saParam(6) = Tabelle1.Cells(9, 2)
saParam(7) = Tabelle1.Cells(10, 2)
saParam(8) = Tabelle1.Cells(11, 2)'*** alter Rückgabewert löschen
Tabelle1.Cells(13, 1) = ""'*** Rückgabefelder löschen
For i = 0 To 100
For j = 0 To 60
Tabelle1.Cells(i + 21, j + 1) = ""
Next
Next'*** Fehlerfelder löschen
For i = 0 To 3
For j = 0 To 2
Tabelle1.Cells(i + 15, j + 1) = ""
Next
Next'*** Download ausführen
lRetCode = oIFace.GetDataFromSAP(sMessId, saParam(), saRet(), sError, saErr(), sQuery)Set oIFace = Nothing
'*** Rückgabewert und Meldung ausgeben
Tabelle1.Cells(13, 1) = lRetCode & " " & sError'*** wenn Programmfehler aufgetreten
If lRetCode <> 9999 Then'*** Rückgabearray in Tabelle anzeigen
l1 = UBound(saRet, 1) - 1
l2 = UBound(saRet, 2) - 1
If l1 <> -1 Then
For i = 0 To l1
For j = 0 To l2
Tabelle1.Cells(i + 21, j + 1) = saRet(i, j)
Next
Next
End If'*** Fehlerarry in Tablle anzeigen
l1 = UBound(saErr, 1) - 1
l2 = UBound(saErr, 2) - 1
If l1 <> -1 Then
For i = 0 To l1
For j = 0 To l2
Tabelle1.Cells(i + 15, j + 1) = saErr(i, j)
Next
Next
End IfEnd If
End Sub
Meine Frage kann man VBA code in C++Builder übersetzen lassen? wenn ja auf was muss ich achten...
Danke für alles.
-
Hi,
das kannst du nicht einfach so "übersetzen".
Ich habe auch keine Lust, mir deinen Code da durchzulesen.
-
was steht denn genau in der excel tabellle?
wäre es möglich die daten der tabelle in eine datenbank tabelle zu protieren? dann kannst du über ODBC etc. in C++ auf die datenbank zugreifen und deine schnittstelle benutzen...
-
BorisDieKlinge schrieb:
was steht denn genau in der excel tabellle?
wäre es möglich die daten der tabelle in eine datenbank tabelle zu protieren? dann kannst du über ODBC etc. in C++ auf die datenbank zugreifen und deine schnittstelle benutzen...
Hallo Boris;
Also ich habe n StringGrid gebaut(ich benutze c++borland 2007) und ich muss die Lotnummer die in meiner tabelle steht mit n prüflosnr aus der excel tabelle vergleichen...für's erste
Dann wenn die beide miteinander stimmen sollte ich n Barcode aus der excel tabelle im StringGrid speichern und das ganze jetzt im SAP schicken...Ich hoffe dass ich alles bisschen verständlich gemacht habe.
-
In der FAQ des BCB-Forums gibt es mehrere Beiträge zum Zugriff auf Excel Tabellen.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39305.html
-
Braunstein schrieb:
In der FAQ des BCB-Forums gibt es mehrere Beiträge zum Zugriff auf Excel Tabellen.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39305.htmlDanke ich schaue mir das mal an...