none
Tabelle in Word 2000 - 2013 finden

    Frage

  •  Hallo,
     
    ich habe mehrere Tabellen in meinem Worddokument. Mit einer C# Application
    suche ich über den Index
     
    die Table.
     
    z.B:
    var table = newDokument.Tables[2];
     Unter Word 2010 + 2013 habe ich die Möglichkeit die Tabelle einen Title zu
    geben.
     
    Wie kann ich unter Word 2000 - 2007  einen Wert in der Tabelle setzen, so
    das ich per VBA die Table finden kann ?
     
    Am Besten ist eine Methode die ich in allen Wordversionen nutzen kann.
     
    Schöne währe sowas
     
    var table = newDokument.Tables["Summe"];
     
    Danke für eure Hilfe,
    Andreas
     
     
    Mittwoch, 14. November 2012 10:09

Alle Antworten

  • 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 12:57
  • Hallo 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 Andreas
     
    PS: 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:06
  • 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



    • Bearbeitet -CHF- Mittwoch, 14. November 2012 14:41
    • Als Antwort vorgeschlagen vhirsch Dienstag, 4. Dezember 2012 07:04
    Mittwoch, 14. November 2012 14:40
  •  
    jetzt 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



    Mittwoch, 14. November 2012 16:19