2016-09-09 3 views
0

Ich kopiere einen Zellenbereich von Excel nach Word, der mehrere Tabellen enthält. Ich muss mein Dokument auf Hochformat setzen. Das Problem ist, dass die Breite der kopierten Tabellen größer als die Breite der Word-Dokumentseite ist. So kann ich nur einen Teil der Tabelle sehen, der andere Teil geht aus dem Word-Dokument heraus, kann also nicht sehen.Interop - Excel in Word kopieren - Schränken Sie die Tabellenbreite an die Seitenbreite des Word-Dokuments.

Sobald das Worddokument erstellt wurde, kann ich die Tabellenbreite manuell verkleinern, um Word-Seitenbreite anzupassen. Wie erreiche ich das programmatisch mit Office Interop?

document.PageSetup.PageWidth = (float)500 hat nicht funktioniert für mich. Ich sah, es gibt eine Eigenschaft als AutoFitBehavior: Word.WdAutoFitBehavior.wdAutoFitWindow, aber nicht sicher, wie es für das Word-Dokument gelten kann.

Schätzen Sie jede Hilfe zu diesem Thema?

Antwort

0

Wie Sie einige Fragen in Ihrer Frage Körper gefragt, kann ich einige von ihnen beantworten wie:

Ich brauche mein Dokument Portrait gesetzt haben:

Sie sollten einen Abschnittsumbruch einfügen dann die Orientierung ändern:

doc.Words.Last.InsertBreak(Wd.WdBreakType.wdSectionBreakNextPage); 
doc.Sections.Last.PageSetup.Orientation = orientation; 

Oder gesetzt Orientierung nach Dokument erstellen

doc.PageSetup.Orientation = WdOrientation.wdOrientLandscape; 

Sobald das Word-Dokument kann ich die Tabellenbreite passen Word-Dokumente Seitenbreite manuell erstellt wird schrumpfen. Wie erreiche ich das programmatisch mit Office Interop?

Sie müssen nur PreferredWidth zu 100 Prozent ein, nachdem seine Art zu wdPreferredWidthPercent Einstellung:

table.PreferredWidthType = Wd.WdPreferredWidthType.wdPreferredWidthPercent; 
table.PreferredWidth = 100.0f; 

Ich sah dort eine Immobilie als AutoFitBehavior ist: Word.WdAutoFitBehavior.wdAutoFitWindow aber nicht sicher, wie kann es Für das Word-Dokument gilt:

Sie können u se AutoFitBehavior wie folgt:

table.AllowAutoFit = true; 
table.AutoFitBehavior(Wd.WdAutoFitBehavior.wdAutoFitWindow); 
Verwandte Themen