Anzeige
Archiv - Navigation
1292to1296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schleife gesucht

Schleife gesucht
14.01.2013 23:19:29
astis
Ich suche eine Schleifenfunktion um folgendes auszuführen.
Aus Tabelle1 Werte im Bereich A1:A? auszulesen, diesen Wert dann an eine andere PC Anwendung (IBM Konsole) übermitteln, dort das Ergebnis auslesen und dann in Tabelle2 eintragen und dann mit der nächsten Zeile in Tabelle1 fortfahren bis alle Wert duch sind. Hier mal der Code, soweit ich gekommen bin...
Sub Zuordnung()
'IBM Konsole ansteuerbar machen
Dim autECLPSObj As Object, autECLConnList As Object, autECLSession As Object
Dim strSource As String, z As Long, wksZ As Worksheet
Set wksZ = ActiveSheet
Set autECLPSObj = CreateObject("PCOMM.autECLPS")
Set autECLConnList = CreateObject("PCOMM.autECLConnList")
Set autECLSession = CreateObject("PCOMM.autECLSession")
autECLSession.SetConnectionByHandle (autECLConnList(1).Handle)
Set autECLPSObj = CreateObject("PCOMM.autECLPS")
autECLPSObj.SetConnectionByHandle (autECLConnList(1).Handle)
autECLSession.autECLOIA.WaitForAppAvailable
'Anwendung in der Konsole aufrufen
autECLSession.autECLPS.SetText "in101", 32, 48
autECLSession.autECLPS.SendKeys "[Enter]"
autECLSession.autECLOIA.WaitForInputReady
'Daten aus tabelle1 auslesen
'autECLSession.autECLPS.SetText "Ausgelesener Wert aus Tabelle1", 32,65
'Werte von Konsole in Excel einfügen
'Zellbereich auswählen - Trim(autECLPSObj.GetText(03,02,22)
'beim nächsten Wert weitermachen bis alles Werte in Tabelle1 durchlaufen sind
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife gesucht
15.01.2013 01:30:35
fcs
Hallo astis,
nachfolgended dein Code ergänzt um die Anweisungen, um die Werte aus der Exceltabelle an die IBM-Konsole zu übergeben und die Ergebnisse wieder zu übernehmen.
Der Code ist natürlich nicht getestet, da ich die IBM-Konsole-Anwendung nicht habe.
Gruß
Franz
Sub Zuordnung()
'IBM Konsole ansteuerbar machen
Dim autECLPSObj As Object, autECLConnList As Object, autECLSession As Object
Dim strSource As String, Zeile_Q As Long, wks_Q As Worksheet
Dim Zeile_Z As Long, wks_Z As Worksheet
'Tabelle mit den an die IBM-Konsole zu übergebenden Werten
Set wks_Q = Worksheets(1) ' oder Worksheets("Tabelle1")
'Tabelle in die die Ergebnisse der IBM-Konsole eingetragen werden sollen
Set wks_Z = Worksheets(2) ' oder Worksheets("Tabelle2")
Set autECLPSObj = CreateObject("PCOMM.autECLPS")
Set autECLConnList = CreateObject("PCOMM.autECLConnList")
Set autECLSession = CreateObject("PCOMM.autECLSession")
autECLSession.SetConnectionByHandle (autECLConnList(1).Handle)
Set autECLPSObj = CreateObject("PCOMM.autECLPS")
autECLPSObj.SetConnectionByHandle (autECLConnList(1).Handle)
autECLSession.autECLOIA.WaitForAppAvailable
'Anwendung in der Konsole aufrufen
autECLSession.autECLPS.SetText "in101", 32, 48
autECLSession.autECLPS.SendKeys "[Enter]"
autECLSession.autECLOIA.WaitForInputReady
'Letzte Zeile mit Daten in Spalte A der Zieltabelle ermitteln
With wks_Z
Zeile_Z = .Cells(.Rows.Count, 1).End(xlUp).Row
End With
'Daten aus Tabelle1 auslesen
With wks_Q
For Zeile_Q = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
strSource = .Cells(Zeile_Q, 1).Text 'oder .Cells(Zeile_Q, 1).Value
autECLSession.autECLPS.SetText strSource, 32, 65
'Application.Wait Now + timeserial(hour:=0,Minute:=0, Second:=1) 'evtl. erforderlich
'Werte von Konsole in Excel einfügen
Zeile_Z = Zeile_Z + 1
wks_Z.Cells(Zeile_Z, 1).Value = Trim(autECLPSObj.GetText(3, 2, 22))
'beim nächsten Wert weitermachen bis alles Werte in Tabelle1 durchlaufen sind
Next Zeile_Q
End With 'wks_Q
'ab hier solltest du dann den Code einfügen, um die Anwendung in der IBM-Konsole _
wieder zu beenden/schliessen
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige