kostenloser Webspace werbefrei: lima-city


C# -> Word Seite auslesen

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    tft-development

    Kostenloser Webspace von tft-development

    tft-development hat kostenlosen Webspace.

    Hallo,
    ich programmiere in C# ein Programm um einen Word Serienbrief aufzuspalten und in mehrere word-dateien zu speichern...
    das programm ist fertig und funktioniert, es gibt nur eine kleinigkeit die mich stört:

    Beim Auslesen einer Seite (mit selection) setzte ich den start an den Anfang der Seite:
    ExistingDocument.ActiveWindow.Selection.GoTo(Microsoft.Office.Interop.Word.WdGoToItem.wdGoToPage, null, null, count.ToString());


    Das end setzte ich bisher noch auf den Anfang der nächsten Seite:
    ExistingDocument.ActiveWindow.Selection.GoTo(Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark, null, null, "\\page");


    Das Problem hierbei ist, dass Eine Seite plus Eine Zeile kopiert werden... im neuen Dokument (wo nur eine Seite stehen soll) werden dann dementsprechend auch 2 Seiten Angezeigt

    Wie kann ich den Selectionzeiger ans Ende der Seite stellen???


    ich habe im MSDN und bei einer Umfangreichen Googlesuche leider nichts besseres gefunden, aber vielleicht könnt ihr mir helfen :)
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Hast du es schon mit WdGoToNext für Which und Count = 1 versucht?
    http://msdn.microsoft.com/en-us/library/office/ff821348.aspx

    Andernfalls könntest du ja versuchen, eine Zeile weniger zu markieren. Ist zwar VBA-Code, solltest du aber einfach in C# umsetzen können:
    Selection.GoTo What:=wdGoToLine, Which:=wdGoToRelative, Count:=-1
  4. Autor dieses Themas

    tft-development

    Kostenloser Webspace von tft-development

    tft-development hat kostenlosen Webspace.

    Word.Document NewDoc = WordApp.Documents.Add();
    NewDoc.ActiveWindow.Selection.Paste();
    
    if (count < WordPages) 
    {
         NewDoc.Characters[NewDoc.Characters.Count - 1].Text = null;
    }


    ist zwar nur eine Notlösung aber es geht...

    nach dem Einfügen des Textes setze ich den letzten Character aus null
    (lösche das "\page")
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!