Microsoft Excel - Schnittstelle


Mit der texManager Excel- Schnittstelle können aus einer Excel-Anwendung heraus Word-Dokumente erstellt werden. Unabhängig davon kann man natürlich jede Excel-Tabelle mit "Copy and Paste" in einen Textbaustein einfügen und im texManager speichern.

 

Es werden verschiedene Arten unterstützt:

1. Excel Tabellen in einen Textbaustein integrieren

Excel Tabellen können ganz einfach mit "Copy and Paste" in die Textbausteine des texManagers eingefügt werden. Entweder mit oder ohne Verlinkung (Je nachdem welche Art der Einfügung ausgewählt wird).


D.h. Änderungen in der original Excel Tabelle werden automatisch in den Textbausteinen übernommen. Das ist u.a. besonders nützlich, wenn z.B. eine Kalkulation in Excel erstellt wird und die Ergebnisse automatisch in die entsprechenden Textbausteine oder in das Word-Dokument übernommen werden.

 

Damit die Änderungen in der Excel-Tabelle in den Textbausteinen sichtbar werden, müssen diese aktualisiert werden. Entweder richtet man es so ein, dass der Baustein oder das Dokument automatisch beim Öffnen aktualisiert wird oder man kann es manuell ausführen, indem die Tabelle markiert und durch Drücken der F9-Taste die Aktualisierung durchgeführt wird. Eine 3. Möglichkeit ist die automatische Aktualisierung über einen Makroaufruf.

Video: Excel und Word verknüpfen

2. Excel-Tabellen mit dem Dokumentengenerator einbetten

Die Handhabung ist denkbar einfach. Einfach die Zellen oder die ganze Tabelle markieren und das Makro starten.

Dabei passiert folgendes:
Der markierte Bereich wird als Excel-Tabelle in einem separaten Word-Dokument eingefügt und im Standard Dokumenten-Ordner (z.B.: C:\ProgramData\texManager 8\Documents\Exceltab.docx) gespeichert.

 

In einer einfachen XML-Datei wird die Struktur des Dokuments abgebildet, sowie die Postion der Excel-Tabelle.

Z.B.:

<?xml version="1.0"?>
<DATA>
<BLOCK>
<Field FILE="MYDATABASE"/>
<Field BLOCKNAME="Vorlage-Bestellung"/>
</BLOCK>

<Field FILE="MYDATABASE"/>

<Field BLOCKNAME="Zwischenteil"/>
</BLOCK>

<BLOCK>
<Field FILE=""/>
<Field BLOCKNAME="C:\ProgramData\texManager 6.0\Documents\Exceltab.docx""/>
</BLOCK>
<BLOCK>

</BLOCK>

<Field FILE="MYDATABASE"/>

<Field BLOCKNAME="Schlussteil"/>
</BLOCK>

<Field FILE="MYDATABASE"/>

<Field BLOCKNAME="Fuss"/>
</BLOCK>
</DATA>

 

Ein Makro startet im Hintergrund, das Modul docBuilder arbeitet dann die XML-Datei ab, bis das fertige Dokument entstanden ist. In dem Makro-Code kann festgelegt werden, wie die Daten im Word-Dokument behandelt werden solen. Z.B. über eine aktive Verlinkung oder unterschiedliche Formatierungsarten.

 

Bsp.:

oWordapp.Selection.PasteExcelTable LinkedToExcel, WordFormatting, RTF 'Verlinkte Tabelle einfügen
Parameters:
LinkedToExcel:
Required Boolean. True links the pasted table to the original Excel file so that changes made to the Excel file are reflected in Microsoft Word.
WordFormatting:
Required Boolean. True formats the table using the formatting in the Word document; False formats the table according to the original Excel file.
RTF:
Required Boolean. True pastes the Excel table using Rich Text Format (RTF); False pastes the Excel table as HTML.

3. Dokumentenerstellung mit Excel-Tabellen steuern

Mit einer Excel-Tabelle und der texManager XML-Schnittstelle mit Steuer-Makro lassen sich komplette Microsoft Word-Dokumente steuern. Der Inhalt einzelner Zellen der Tabelle werden an die Platzhalter im Dokument übergeben. In der  Excel-Tabelle werden die Felder der XML-Datei aufgelistet und können bearbeitet werden.

Excel-Tabelle mit der Word-Dokumentenstruktur
Excel-Tabelle mit der Word-Dokumentenstruktur

Die Spalte Datenbank enthält den Namen der Textbaustein-Datenbank. Über die Textbaustein-Kurzbezeichnung wird der entsprechende Baustein zugeordnet. In der dritten Spalte werden die Platzhalter-Bezeichnungen gespeichert, die sich in den Textbausteinen befinden. Dieser werden mit den Werten in der 4. Spalte ersetzt.

4. Textbausteine durch Markierung automatisiert übergeben

Über eine relative Sprungadresse in der Datei TM.INI im Benutzer-Verzeichnis des texManager können Exceldaten und Word-Textbausteine zusammen in eine Dokument eingefügt werden.

Einmalig legt man das Sprungprofil in der Initialisierungsdatei "tm.ini" im Benutzerverzeichnis des texManagers ab.
Der Aufbau ist wie folgt:
Var1 = <Platzhaltername>, <Sprungweite>
Es können bis zu 4 Werte (Var1-Var4) übergeben werden.


Zum Beispiel:
[EXCEL]
Var1=Quantity,3
Var2=Price,4
Var3=Sum,5
Var4=Name,-1

Bei Bedarf kann die Anzahl der Variablen erhöht werden. Über die Sprungweite wird die Richtung und Position der Platzhalterwerte relativ zur Textbaustein-Kurzbezeichnung angegeben. Postive Werte deuten nach rechts, negative Werte nach links.


Durch die relative Positionsauswertung kann man flexibel beliebige Excel-Tabellen auslesen. Die mitgelieferte Wordvorlage mit den Steuer-Makros ("tmExcelCtrl.dotm") muss natürlich im Zugriff sein.

 

Wird ein Textbaustein nicht gefunden, sucht der texManager nach einem "Fehler-Baustein" mit der Kurzbezeichnung "TB_NOT_FOUND". Dieser kann individuell gestaltet werden und wird dann als Ersatz eingefügt.

Platzhalter anlegen

Platzhalter in den Textbausteinen werden über Seriendruck-Felder befüllt. Dazu muss man nur  Seriendruckfelder mit der entsprechenden Platzhalterbezeichnung in den Textbaustein einfügen. Die Platzhalternamen entsprechen den Einträgen in der "tm.ini" Datei (s.o).

Ein leeres Feld kann im Textbaustein-Editor mit der Tastenkombination <STRG><F9> erzeugt werden. In den geschweiften Klammern wird dann der Begriff "MERGEFIELD" gefolgt von der Platzhalterbezeichnung eingegeben. Z.B. {MERGEFIELD AUFTRAGSNR}. Mit der Tastenkombination <Alt><F9> kann die Ansicht zwischen Feldfunktionen und normalem Text umgeschaltet werden.