各Officeドキュメント(Excel、Word、PowerPoint、Access)をVBAマクロから制御し、新規作成して保存するサンプルコードの一覧です。
マクロを実装したOfficeアプリケーションから、別のOfficeアプリケーションを操作したい場合(例:ExcelからWordファイルを新規作成・保存したい場合など)に利用できます。
この記事でできること
- Excel VBAから、Excel、Word、PowerPoint、Accessの各ファイルを新しく作成し、指定パスへ保存する
- 参照設定を用いた早期バインディング(インテリセンス有効)によるオブジェクト操作の基本を学ぶ
前提条件・環境
- 動作確認環境:Office 2010以降(Office 2013 / 2016 / 2019 / 2021 / Microsoft 365でも同様に動作します)
- VBAエディタの「ツール」>「参照設定」から、操作したいアプリケーションのライブラリを追加していること
参照設定の確認と追加
コードを実行する前に、VBAエディタ(Alt + F11)の「ツール」>「参照設定」から以下のライブラリにチェックを入れてください。
- Microsoft Excel 14.0 Object Library (※Excel以外から動かす場合)
- Microsoft Access 14.0 Object Library
- Microsoft PowerPoint 14.0 Object Library
- Microsoft Word 14.0 Object Library
完全なサンプルコード
Sub 各OFFICEドキュメントの新規作成マクロ()
' 参照設定にて Excel, Word, PowerPoint, Access のライブラリを追加してください。
Dim xlsApp As Excel.Application
Dim docApp As Word.Application
Dim pptApp As PowerPoint.Application
Dim dbApp As Access.Application
Dim SavePath As String
Dim SaveName As String
SavePath = "C:\test\"
SaveName = "testData"
' 保存先フォルダが存在しない場合は作成する
If Dir(SavePath, vbDirectory) = "" Then
MkDir SavePath
End If
' 1. Excelの新規作成
Set xlsApp = New Excel.Application
Dim wb As Excel.Workbook
Set wb = xlsApp.Workbooks.Add
wb.SaveAs SavePath & SaveName & ".xlsx"
Debug.Print wb.Path
wb.Close False
xlsApp.Quit
' 2. Wordの新規作成
Set docApp = New Word.Application
Dim doc As Word.Document
Set doc = docApp.Documents.Add
doc.SaveAs2 SavePath & SaveName & ".docx"
Debug.Print doc.Path
doc.Close False
docApp.Quit
' 3. PowerPointの新規作成
Set pptApp = New PowerPoint.Application
Dim pre As PowerPoint.Presentation
Set pre = pptApp.Presentations.Add(msoFalse)
pre.SaveAs SavePath & SaveName & ".pptx"
Debug.Print pre.Path
pre.Close
pptApp.Quit
' 4. Accessの新規作成
Set dbApp = New Access.Application
dbApp.NewCurrentDatabase SavePath & SaveName & ".accdb"
Debug.Print dbApp.CurrentProject.Path
dbApp.CloseCurrentDatabase
dbApp.Quit
MsgBox "すべてのドキュメントの作成が完了しました。", vbInformation
End Sub
コードの要点と注意点
- オブジェクトの解放:処理の最後には各アプリケーションの
Quitメソッドを呼び出し、メモリリークを防いでいます。 - 拡張子の指定:
SaveAsメソッドを実行する際は、予期せぬファイル形式での保存を防ぐため、拡張子(.xlsx,.docx等)を明示的に付与することを推奨します。 - 保存先フォルダ:あらかじめ
C:\test\フォルダが存在するか確認し、ない場合は自動生成する処理を組み込んでいます。
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月12日
- 変更引用タグやHTMLタグ内に記述されていたVBAコードを、WordPress上で正しく表示されるコードブロック形式にリファクタリングしました。
- 追加参照設定の手順や前提条件、保存先フォルダの確認に関する解説を追加しました。

