PDA

View Full Version : Excel Add-In automatisieren



cluster
13-10-08, 12:27
Hallo,

ich habe nun schon etwas gegoogelt aber bin leider nicht fündig geworden. Ich möchte mehrere Datenblätter in Excel automatisch mit Daten von einer AS-400 befüllen lassen. Das IBM Addin cwbtfxla.xll steht mir hierfür nur zur Verfügung. Wie in anderen Beiträgen beschrieben darf ich nicht per ODBC auf die Daten zugreifen sondern kann nur das Datenübertragungstool von IBM nutzen.

Ist es möglich das Excel Add-In zu automatiseren per Makro? Wenn ich den Makro-Rekorder einschalten und die Datenübertragung ausführe wird leider nichts aufgezeichnet.

Gruß

Fuerchau
13-10-08, 13:06
Hierfür stehen die CA-Programme rfrompcb/rtopcb im CA-Programmverzeichnis zur Verfügung.
Allerdings können diese nicht mehrere Ausgaben in eine gemeinsame Excel-Ausgabe durchführen.

Jeder Transfer erstellt genau eine Excel-Datei.

PS:
Warum nicht per ODBC native aus Excel ?
Das CA-Excel-Addin verwendet nämlich nichts anders.

cluster
13-10-08, 13:32
Die Begründung kommt aus der EDV, meinten aus Datenschutzgründen nicht direkt per ODBC etc., außerdem würden die IBM Tools eben reichen, also das add-in und das übertragungstool

nur ist dies etwas mühselig dann jede datei einzel zu übertragen, deshalb hatte ich gehofft das excel add-in automatisch starten zu lassen, eben für die einzelnen Datenblätter mit unterschiedlichen .dtfs

Wie kann ich denn nun mit den Dateien arbeiten? wenn ich eine der .exe dateien per vba ausführen lasse passiert nichts außer das mal kurz die eingabekonsole aufgeht aber gleich wieder weg ist:confused:

schonmal danke für die antwort

Fuerchau
13-10-08, 13:40
Nun ja, die Programme benötigen auch Parameter:

System i: Transferring data from a database file to a stream file (http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/ifs/rzaaxtransferdbtostream.htm?resultof=%22%72%66%72% 6f%6d%70%63%62%22%20)

PS:
Datenschutzgründe ?
So lange jeder aus der 5250-Sitzung oder selber über Excel->Externe Daten oder über das AddIn Datenübertragungen generieren kann, ist es mit dem Datenschutz eher schlecht bestellt.
Hier sind wohl eher Schutzmassnahmen auf der AS/400 erforderlich:
- Objektberechtigungen
- Server-Dienste
- WRKREGINF-Prüfungen
- oder eine Tool wie PCSACC/400

cluster
13-10-08, 13:59
hmm ja da kenn ich mich nun nicht wirklich aus was da von seiten des rechenzentrums dafür gemacht, vll waren sie auch nicht grad in stimmung und dann wird dies eben so begründet...allerdings habe ich keinen odbc treiber für die AS-400 bei den Datenquellen(windows), also geht das auch gar nicht über excel->externe Daten...aus der Sitzung heraus ist das programm auch nur bei wenigen usern installiert

so wie ich das aber nun auf dem link lese werde ich dann wohl doch mit batch dateien arbeiten müssen, die die einzelnen dateien per .dtf abfragen (und jeweils eine excel datei erzeugen)und dann in eine einzelne excel datei wieder zusammenfasst.

hatte gehofft ich könnte das add-in in den einzelnen Datenblättern automatisch ausführen, so wie ich es eben bislang per hand gemacht habe, wäre ja eigtlich nur den button in excel drücken und einmal dann noch auf ok drücken...:o

Fuerchau
13-10-08, 14:34
Tja, der Vorteil des einen ist der Nachteil des anderen.

Öffne mal eine DOS-Box und gebe die Befehle von Hand ohne Parameter ein.
Es wird eine Usage-nachricht ausgegeben.

Wie du siehst, kannst du auch eine Liste als Parameter angeben, die dann mehrere ttf's abarbeitet.

Was die Automatisierung angeht, so kannst du in Excel mit externen Daten über ODBC auch aus anderen Excel-Tabellen aktualisieren (Treiber für Excel ist automatisch vorhanden).

Oder du schreibst ein VBA-Makro, dass automatisch die xls's eines Verzeichnisses einliest und in eine gemeinsame Arbeitsmappe kopiert.

Oder...
Oder...

Es gibt wie immer sicherlich viele Möglichkeiten.

cluster
15-10-08, 09:40
Das mit der DOS-Box ist im Prinzig genau das was ich brauche, werde eben dann die einzelnen Dateien per vba wieder zusammenführen...vielen Dank für die Hilfe :)

eine letzte Frage hätte ich noch. ich wollte nun per batch-datei den befehl mit den 3 .dtfs aufrufen, allerdings funktioniert dies leider nicht und den befehl per hand einzugeben ist auch etwas müßig...
der befehl wäre
c:\programme\IBM\client access>rtopcb c:\test1.dtf /C c:\test2.dtf

kann ich diesen befehl per batch datei automatisieren bzw. wie?

Fuerchau
15-10-08, 13:51
In dem du eine XXX.BAT erstellst.
Diese kannst du mit Notepad bearbeiten.

cluster
15-10-08, 14:06
das meinte ich gar nicht, bei mir hatte zuerst die batch-datei nicht funktioniert und somit wurden keine Daten übertragen...lag aber an einem kleinen fehler von mir...

also nochmals vielen Dank für die Hilfe

Gruß

edit:
naja nun ist es mir schon fast peinlich aber ich frag dennoch, ist es möglich über die .dft einen variablen Ausgabennamen zu definieren, also das der dateiname (der excel datei) das aktuelle Datum der übertragung enthält?