Tabelle in Word 2000 - 2013 finden
-
Mittwoch, 14. November 2012 10:09Hallo,ich habe mehrere Tabellen in meinem Worddokument. Mit einer C# Applicationsuche ich über den Indexdie Table.z.B:var table = newDokument.Tables[2];Unter Word 2010 + 2013 habe ich die Möglichkeit die Tabelle einen Title zugeben.Wie kann ich unter Word 2000 - 2007 einen Wert in der Tabelle setzen, sodas ich per VBA die Table finden kann ?Am Besten ist eine Methode die ich in allen Wordversionen nutzen kann.Schöne währe sowasvar table = newDokument.Tables["Summe"];Danke für eure Hilfe,Andreas
Alle Antworten
-
Mittwoch, 14. November 2012 12:57
Hallo Andreas,
der Titel bei Tabellen ist nur für die Webansicht als alternativer Text vorgesehen. Kann dazu zwar misbraucht werden, aber beim Austausch mit älteren Versionen geht diese Eigenschaft wohl verloren.
Sicherher ist es da in die Kopfzeile der Tabelle oder um die Tabellen / um eine Zelle eine Textmarke zu setzen. Du kannst dabei auch unsichtbare Textmarken verwenden, die mit einem Unterstrich anfangen. Diese werden dann im Dokument nicht sondern nur im Einfügen-Dialog der Textmarken angezeigt (Optional).
Auf Textmarken kann man prima prüfen (Bookmarks.Exists) und funktioniert unter allen Version ab 2000.
Gruß
Christian
Gruß Christian
-
Mittwoch, 14. November 2012 14:06Hallo Christian,danke für deine Antwort.Die Textmarke habe ich in die Tabelle (Zelle) gesetzt.Ich finde die Textmarke (Test1) im Programm, mein Problem ist, wie bekomme ich raus in welcher Table die Textmarke gesetzt wurde ?Danke AndreasPS: Ich programmiere das in c# und verwende NetOffice (Wrapper für das COM Object) (Eine Klasse Bibliothek, OpenSource)Word.Application wordApplication = new Word.Application();wordApplication.DisplayAlerts = WdAlertLevel.wdAlertsNone;Word.Document newDocument = wordApplication.Documents.Open(string.Format(@"{0}\Table.docx",Application.StartupPath));Word.Bookmark book = newDocument.Bookmarks["Test1"];if (book != null){Console.WriteLine("Textmarke Gefunden");}foreach (var da in newDocument.Tables){}"-CHF- (MVP)" schrieb im Newsbeitrag news:6999e13e-02ea-4e46-bdf5-7bcc4bc55798@communitybridge.codeplex.com...
Hallo Andreas,
der Titel bei Tabellen ist nur für die Webansicht als alternativer Text vorgesehen. Kann dazu zwar misbraucht werden, aber beim Austausch mit älteren Versionen geht diese Eigenschaft wohl verloren.
Sicherher ist es da in die Kopfzeile der Tabelle oder um die Tabellen / um eine Zelle eine Textmarke zu setzen. Du kannst dabei auch unsichtbare Textmarken verwenden, die mit einem Unterstrich anfangen. Diese werden dann im Dokument nicht sondern nur im Einfügen-Dialog der Textmarken angezeigt (Optional).
Auf Textmarken kann man prima prüfen (Bookmarks.Exists) und funktioniert unter allen Version ab 2000.
Gru�?
Christian
Gru�? Christian
-
Mittwoch, 14. November 2012 14:40
Hallo Andreas,
Nachtrag: ausgeblendete Textmarken kann man nur programmatisch setzen, nicht über den Dialog. Sehen kann man sie dort dann aber schon.
Da ich von c# keine Ahnung habe kann ich nur die Lösung innerhalb VBA anbieten:
Dim tbl As Word.Table If ActiveDocument.Bookmarks.Exists("Tabelle1") Then Set tbl = ActiveDocument.Bookmarks("Tabelle1").Range.Tables(1) '... Set tbl = Nothing Else Msgbox "Tabelle nicht vorhanden oder Textmarke gelöscht" End If
Gruß Christian
-
Mittwoch, 14. November 2012 16:19jetzt klappt es, danke für deine Hilfe.-Andreas"-CHF- (MVP)" schrieb im Newsbeitrag news:2bc80915-6962-4ef8-91e6-750425a7525b@communitybridge.codeplex.com...
Hallo Andreas,
Nachtrag: ausgeblendete Textmarken kann man nur programmatisch setzen, nicht über den Dialog. Sehen kann man sie dort dann aber schon.
Da ich von c# keine Ahnung habe kann ich nur die Lösung innerhalb VBA anbieten:
Dim tbl As Word.Table If ActiveDocument.Bookmarks.Exists("Tabelle1") Then Set tbl = ActiveDocument.Bookmarks("Tabelle1").Range.Tables(1) '... Set tbl = Nothing Else Msgbox "Tabelle nicht vorhanden oder Textmarke gelöscht" End If
Gru�? Christian

