Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1860to1864
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

VBScript für Import nach Excel aus PCOMM

VBScript für Import nach Excel aus PCOMM
14.12.2021 12:57:33
Sascha
Hallo zusammen,
hatte von ChrisL letztens tolle Hilfe erhalten.
Leider ist der Thread nicht mehr aktiv, daher muss ich nun einen neuen erstellen.
Ich suche wieder Hilfe beim Schreiben eines Makros in PCOMM. Ein VB-Script-Forum habe ich nicht wirklich gefunden, bei dem auch Leute aktiv sind.
DIeses Mal möchte ich zuerst Daten aus Excel im IBM Host einfügen lassen und am Ende eine Datenstelle im Host kopieren und dann in Excel in eine bestimmte Spalte exportieren lassen.
Die Daten aus Excel in den IBM Host/PCOMM bekomme ich bereits eingefügt.
Wenn ich nun nach Abschluss der eigentlichen Aufgabe einen Bereich kopiert habe, mittels dem Befehl:

dim nr
nr= AutECLSession.autECLPS.GetText (2,58,12)
wie kann ich dann den Folgebefehl machen, damit dieser Text nun in Excel bspw. "Zelle 3O" die Daten eingefügt werden?
Vielen Dank im Voraus für Eure Hilfe.
LG
Sascha
Das gesamte Makro derzeit:

[PCOMM SCRIPT HEADER]
LANGUAGE=VBSCRIPT
DESCRIPTION=
[PCOMM SCRIPT SOURCE]
autECLSession.SetConnectionByName(ThisSessionName)
REM This line calls the macro subroutine
subSub1_
dim excel
dim row
dim inputfilename
dim objWorkbook
dim i, ka12
sub subSub1_()
inputfilename = "C:\Users\test.xlsx"
Set excel = CreateObject("Excel.Application")
Set objWorkbook = excel.Workbooks.Open(inputFilename)
excel.visible = true
row = 3
for i = 1 to 1
autECLSession.autECLPS.SendKeys ".k011,a,f"
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "o"
autECLSession.autECLPS.SendKeys excel.Cells(row,4).Value
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys excel.Cells(row,7).Value
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys excel.Cells(row,8).Value
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys excel.Cells(row,9).Value
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "0"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[tab]"
autECLSession.autECLPS.SendKeys "99999999"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[pf3]"
autECLSession.autECLPS.SendKeys "[pf3]"
autECLSession.autECLPS.SendKeys "[pf3]"
autECLSession.autECLPS.SendKeys "219999999i301"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "010122"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "1"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "26"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "3"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "999-"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "Test"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "3"
autECLSession.autECLPS.SendKeys "[pf9]"
autECLSession.autECLPS.SendKeys "10"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "j0,05"
autECLSession.autECLPS.SendKeys "[pf9]"
autECLSession.autECLPS.SendKeys "14"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "152320"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "u"
autECLSession.autECLPS.SendKeys "[pf9]"
autECLSession.autECLPS.SendKeys "01"
autECLSession.autECLPS.SendKeys "[enter]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "[newline]"
autECLSession.autECLPS.SendKeys "9"
autECLSession.autECLPS.SendKeys "[pf2]"
autECLSession.autECLPS.SendKeys "ka10,#"
autECLSession.autECLPS.SendKeys "[pf3]"
dim nr
nr= AutECLSession.autECLPS.GetText (2,58,12)
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLOIA.WaitForInputReady
row = row + 1
next
end sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBScript für Import nach Excel aus PCOMM
14.12.2021 13:10:55
ChrisL
Hi Sascha
Link zum alten Beitrag:
https://www.herber.de/forum/cgi-bin/callthread.pl?index=1859675
Ich vermute:

Dim nr As String
nr = AutECLSession.autECLPS.GetText(2,58,12)
objWorkbook.Worksheets("Tabelle1").Range("O3").Value = nr
Leicht verwirrend, dass du einen Text-String als nr (Nummer) bezeichnest, aber egal.
cu
Chris
AW: VBScript für Import nach Excel aus PCOMM
14.12.2021 13:24:06
Sascha
Da ist ja mein Retter :-)
Leider funktioniert es nicht: Es kommt die Fehlermeldung:
Kompilierungsfehler in Microsoft VBScript
Linie 25
Anweisungsende erwartet
Dim nr As String
Der kopierte Text ist eine Vertragsnummer, daher "nr" als Bezeichnung.. muss ja alles anonymisieren ;-)
Anzeige
AW: VBScript für Import nach Excel aus PCOMM
14.12.2021 13:28:08
ChrisL
Hi
Dann lass "As String" mal wieder weg. Da gibt es wohl einen Unterschied zwischen VBA-Excel und VBScript.
cu
Chris
AW: VBScript für Import nach Excel aus PCOMM
14.12.2021 13:32:09
Sascha
Das war es! :-)
Überragend, DANKE!!
Noch eine weitere Frage...
Versuche bei einem anderen Makro am Ende eine Outlook-Vorlage öffnen zu lassen, dann das Empfänger-Feld und den Betreff zu befüllen an gewissen Textstellen..
hast du dazu eine Ahnung?
Ananlog zu Excel funktioniert es bislang nicht..

inputfilename = "C:\Users\Emailvorlage.msg"
Set outlook = CreateObject("Outlook.Application")
Set objWorkbook = outlook.Open(inputFilename)
excel.visible = true
LG, Sascha
Anzeige
AW: VBScript für Import nach Excel aus PCOMM
14.12.2021 14:03:56
Sascha
Okay, danke.
Ich les dort mal nach.
Bezüglich des rüber kopieren in Excel..
Habe jetzt

Dim nr
nr = AutECLSession.autECLPS.GetText(2,58,12)
objWorkbook.Worksheets("Tabelle1").Range("F6").Value = nr
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLOIA.WaitForInputReady
autECLSession.autECLOIA.WaitForInputReady
row = row + 1
next
Was muss ich ergänzen, unter row=row+1, damit er auch bei .Range("F6").Value = nr immer eine Zeile weiter runterspringt? Also sprich dann in F7, F8, F9,....
LG Sascha
Anzeige
AW: VBScript für Import nach Excel aus PCOMM
14.12.2021 14:10:11
ChrisL
Hi
Das hatten wir doch schon ;)
objWorkbook.Worksheets("Tabelle1").Cells(Zeilenindex, Spaltenindex)

objWorkbook.Worksheets("Tabelle1").Cells(row, 6).Value = nr
cu
Chris
AW: VBScript für Import nach Excel aus PCOMM
14.12.2021 14:14:01
Sascha
Sorry, hab mich vielleicht schlecht ausgedrückt.
Ich habe insgesamt ein Schleifenmakro.
Das Makro endet also mit

row = row + 1
next
end sub
jetzt würde ich gerne wissen, wie ich den Befehl "objWorkbook.Worksheets("Tabelle1").Range("F7").Value = nr" auch für die Schleife erweitern kann mit "+1) .. z.B. range = range + 1
LG
Anzeige
AW: VBScript für Import nach Excel aus PCOMM
14.12.2021 14:38:21
ChrisL
Ich glaube ich verstehe schon. Wie erwähnt, mit Cells statt Range. Detail: Einen Zähler (row = row + 1) brauchst du nicht, weil bereits die For-Next Schleife hochzählt.
Bitte schau dir noch einmal meinen Strukturvorschlag vom alten Beitrag an

For lngZeile = 1 To 2
MsgBox objWorkbook.Worksheets("Tabelle1").Cells(lngZeile, 1).Value
Next lngZeile
Geht in beide Richtungen (lesen/schreiben):
Variable = objWorkbook.Worksheets("Tabelle1").Cells(lngZeile, 1).Value
oder
objWorkbook.Worksheets("Tabelle1").Cells(lngZeile, 1).Value = Variable
cu
Chris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige