参照:http ://social.msdn.microsoft.com/forums/en-US/vsto/thread/45152591-1f3e-4d1e-b767-ef030be9d9f2
ページサイズはセクションごとに異なる可能性があるため、Document.SectionオブジェクトのPageSetupプロパティを設定するのが最善の方法です。たとえば、ドキュメントのすべてのセクションをループできます。
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
Application app = Globals.ThisAddIn.Application;
Word.Document doc = app.ActiveDocument;
foreach (Section section in doc.Sections)
{
section.PageSetup.PaperSize = WdPaperSize.wdPaperA4;
}
}
ドキュメントを作成または開いたときに用紙サイズを設定するためにlocicを追加するのはあなた次第です。開いているドキュメントが、意図的にA4以外のサイズで保存されているかどうかを判断する必要があると思います。
編集:これは機能します、コメントで何を意味するのかわかりませんThisAddIn isnt a member or Globals and ActiveDocument isnt a member of Application in VB.NET
-これらの上位2行をスキップすることはできません、ここにVB.Netバージョンがあります:
Private Sub ThisAddIn_Startup(sender As Object, e As System.EventArgs)
Dim app As Application = Globals.ThisAddIn.Application
Dim doc As Word.Document = app.ActiveDocument
For Each section As Section In doc.Sections
section.PageSetup.PaperSize = WdPaperSize.wdPaperA4
Next
End Sub
> VisualStudio>新しいプロジェクトの作成>Office>Word 2010(または2007)アドインを作成し、上記のコードを貼り付けるだけです。これは、A4とLetterで動作することを示すスクリーンショットです。
直面する可能性のある唯一の問題は、プリンタにこのエラーが発生するサイズの用紙がない場合です。Requested PaperSize is not available on the currently selected printer.