Liest eine Word Tabelle und gibt sie als 2-dimensionalen Array zurück
#include <Word.au3>
_Word_DocTableRead ( $oDoc, $vTable [, $iIndexBase = Default [, $sDelimiter = Default]] )
$oDoc | Word Dokument Objekt |
$vTable | Objekt der Word Tabelle oder Index der Tabelle in der Tabellen-Zusammenstellung (collection) |
$iIndexBase | [optional] Kann 0 oder 1 sein und definiert, ob der Array mit Zeile 0 oder 1 beginnt (Standard = 1) |
$sDelimiter | [optional] Das Zeichen, das die umgewandelten Spalten begrenzt (Absatzmarken begrenzen die umgewandelten Zeilen). Eine Konstante der WdTableFieldSeparator Aufzählung (Standard = @TAB) |
Erfolg: | 2-dimensionaler array mit dem Inhalt der Word Tabelle. |
Fehler: | "" und setzt das @error Flag auf ungleich null. |
@error: | 1 - $oDoc ist kein Objekt 2 - Fehler beim Zugriff auf die angegebene Tabelle über den Index. @extended wird auf den COM Fehlercode gesetzt 3 - Fehler beim Zugriff auf die Tabelle. @extended wird auf den COM Fehlercode gesetzt 4 - Fehler beim Konvertieren der Tabelle in einen Array. @extended wird auf den COM Fehlercode gesetzt |
Verschachtelte Tabellen werden ignoriert.
Wenn $iIndexBase auf 1 gesetzt wird, dann enthält Zeile 0 des Arrays den Zähler für Zeilen und Spalten.
#include <Array.au3>
#include <MsgBoxConstants.au3>
#include <Word.au3>
; Erzeugt ein neues oder stellt eine Verbindung zu einem bestehenden Word-Objekt her
Local $oWord = _Word_Create()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocTableRead Beispiel", _
"Fehler beim Erstellen des Word-Anwendungsobjektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Öffnet das Testdokument
Local $oDoc = _Word_DocOpen($oWord, @ScriptDir & "\Extras\Test.doc", Default, Default, True)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocTableRead Beispiel", _
"Fehler beim Öffnen von '.\Extras\Test.doc'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Erstellt eine Tabelle aus einem Array
Local $asArray[3][3] = [[1, 2, 3], ["a", "b", "c"], ["x", "y", "z"]]
Local $oRange = _Word_DocRangeSet($oDoc, -2)
Local $oTable = _Word_DocTableWrite($oRange, $asArray, 0)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocTableRead Beispiel", _
"Fehler beim Erstellen der Tabelle." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Liest die erste Tabelle eines Dokumentes und gibt den gesamten Inhalt zurück
Local $asResult = _Word_DocTableRead($oDoc, 1, 1)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Word UDF: _Word_DocTableRead Beispiel", _
"Fehler beim Lesen der Tabelle." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_ArrayDisplay($asResult, "Word UDF: _Word_DocTableRead Beispiel")