「ページ設定 createobject wordapplication」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
どのアプリケーションの話かわかりませんが、Word以外のVBA(Visual Basic for Applications)などから、Wordのページ設定を行うにはどのようなコードを書くのかを探している方による検索でしょう。
参考になりそうな、思いっきりシンプルなExcelマクロをご紹介しておきます。
新規Word文書のページ設定を行うサンプルマクロ
以下のExcelマクロを実行すると、新規にWord文書が作成され、用紙の向きが横長に設定されます。
Dim wd_app As Object ' Word.Application
Dim wd_doc As Object ' Word.Document
Set wd_app = CreateObject("Word.Application")
wd_app.Visible = True
Set wd_doc = wd_app.Documents.Add
wd_doc.PageSetup.Orientation = 1 ' wdOrientLandscape
Set wd_doc = Nothing
Set wd_app = Nothing
一言でページ設定といっても、さまざまな設定項目がありますので、ここでは用紙の向きだけを指定しています。
サンプルマクロの解説
WordをCreateObjectしてから、
Set wd_app = CreateObject("Word.Application")
WordのApplication.VisibleプロパティをTrueにすることで、Wordを表示しています。
wd_app.Visible = True
実際にお仕事で利用するマクロの場合、VisibleプロパティをTrueにする処理を、最後にするほうが良さそうですが、ここでは少しでも理解しやすくするために最初に行っています。
WordのDocuments.Addメソッドで新規文書を作成して、
Set wd_doc = wd_app.Documents.Add
WordのDocumentオブジェクトの、PageSetupオブジェクトのOrientationプロパティを設定しています。
wd_doc.PageSetup.Orientation = 1
Word VBAの中ならば、
wd_doc.PageSetup.Orientation = wdOrientLandscape
のように定数を使って指定できますが、これはExcel VBAから参照設定を行っていない前提のプロシージャですので、直接「1」を指定しています。
Excel VBE(Visual Basic Editor)でローカルウィンドウを表示してオブジェクト変数の様子を観察しつつ、Wordの動きも眺めつつ、ステップ実行してみることをおすすめします。
Word.ApplicationをCreateObjectしたあとは、すべてWordのオブジェクト式ですから、登場するオブジェクト式の詳細を調べたいときは、Word VBAのヘルプを確認しましょう。
また、その他のページ設定項目を指定したい場合は、Wordでマクロ記録を行うと参考になるコードが得られるはずです。
Microsoft MVP for Excelという立場から、ここではExcelマクロとしてご紹介していますが、上記のコードは、例えばPowerPoint VBAでもこのままの状態で動きます。
Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » 新規Word文書のページ設定を行うExcelマクロ