【Excel、Access、PowerPoint、Wordマクロ】各OFFICEドキュメント毎、新規作成を行うマクロのサンプル一覧

VBA・Officeカテゴリを表すパンダのイラスト VBA・Office

各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)の「ツール」>「参照設定」から以下のライブラリにチェックを入れてください。

  1. Microsoft Excel 14.0 Object Library (※Excel以外から動かす場合)
  2. Microsoft Access 14.0 Object Library
  3. Microsoft PowerPoint 14.0 Object Library
  4. 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上で正しく表示されるコードブロック形式にリファクタリングしました。
  • 追加参照設定の手順や前提条件、保存先フォルダの確認に関する解説を追加しました。

文書情報

記事タイトル
【Excel、Access、PowerPoint、Wordマクロ】各OFFICEドキュメント毎、新規作成を行うマクロのサンプル一覧
作成日
更新日
Source URL
https://papanda925.com/?p=468

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました