カテゴリ: Excel VBA 更新日: 2026/02/02

よく使う参照設定(Scripting・ADODB・Outlook・PowerPoint)を使い方付きで解説

よく使う参照設定(Scripting・ADODB・Outlook・PowerPoint)を使い方付きで解説
よく使う参照設定(Scripting・ADODB・Outlook・PowerPoint)を使い方付きで解説

先生と生徒の会話形式で理解しよう

生徒

「Excel VBAで参照設定って聞くんですが、どれを使えばいいのか分かりません…」

先生

「よく使われる参照設定はいくつか決まっています。役割を知ると選びやすくなりますよ。」

生徒

「名前も難しそうで不安です…」

先生

「大丈夫です。道具の名前と使い道をセットで覚えていきましょう。」

参照設定はVBAに道具を持たせる仕組み

参照設定はVBAに道具を持たせる仕組み
参照設定はVBAに道具を持たせる仕組み

Excel VBAの参照設定とは、VBAに「使ってよい機能の道具箱」を渡す作業です。 参照設定を行うことで、Excelだけではできない便利な操作が可能になります。

例えば、ファイル操作を細かく行ったり、データベースに接続したり、 OutlookやPowerPointを自動操作したりする場合に参照設定が必要になります。

プログラミング未経験の方は、 「参照設定=便利な追加機能を使えるようにする準備」 と覚えておくと理解しやすくなります。

Scripting Runtime参照設定の役割と使いどころ

Scripting Runtime参照設定の役割と使いどころ
Scripting Runtime参照設定の役割と使いどころ

Scripting Runtimeは、ファイルやフォルダを扱うときによく使われる参照設定です。 パソコンの中にあるファイルを調べたり、フォルダを作成したりする作業が得意です。

これは、倉庫の中身を一覧で管理する担当者のような存在です。 Excel標準の機能よりも、分かりやすく安全にファイル操作ができます。

ファイル名の取得や存在チェックなど、 日常業務の自動化で登場する場面が多いため、 初心者の方でも比較的早い段階で目にする参照設定です。


Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")

ADODB参照設定でデータをまとめて扱う

ADODB参照設定でデータをまとめて扱う
ADODB参照設定でデータをまとめて扱う

ADODBは、データベースや大量のデータを扱うための参照設定です。 Excelの表を「データのかたまり」として扱えるようになります。

イメージとしては、たくさんの書類を一気に並べ替えたり、 条件で抽出したりする整理係のような存在です。

CSVファイルや別のExcelファイルからデータを読み込む場合にも使われるため、 業務自動化では非常に出番が多い参照設定です。


Dim cn As Object
Set cn = CreateObject("ADODB.Connection")

Outlook参照設定でメール操作を自動化

Outlook参照設定でメール操作を自動化
Outlook参照設定でメール操作を自動化

Outlook参照設定を使うと、Excel VBAからOutlookを操作できるようになります。 メールの作成や送信、受信トレイの確認などが自動で行えます。

これは、秘書が代わりにメール作業をしてくれるようなイメージです。 定型文メールの送信や報告メール作成で力を発揮します。

会社でExcelとOutlookを併用している場合、 作業時間を大きく短縮できる便利な参照設定です。


Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")

PowerPoint参照設定で資料作成を効率化

PowerPoint参照設定で資料作成を効率化
PowerPoint参照設定で資料作成を効率化

PowerPoint参照設定を使うと、Excelのデータを使って プレゼン資料を自動作成できます。

毎回同じ形式の資料を作る場合、 数字だけを差し替えてスライドを作る作業が不要になります。

これは、設計図をもとに自動で同じ家を建てるような仕組みです。 手作業のミスを防ぎ、作業の再現性を高められます。


Dim pptApp As Object
Set pptApp = CreateObject("PowerPoint.Application")

参照設定を使うときの初心者向け注意点

参照設定を使うときの初心者向け注意点
参照設定を使うときの初心者向け注意点

参照設定は便利ですが、必要以上に追加しないことが重要です。 多すぎると、他のパソコンで開いたときにエラーが出やすくなります。

最初は「どんなことをしたいか」を考え、 それに合った参照設定だけを使うようにしましょう。

分からない参照設定は無理に触らず、 役割を一つずつ理解することが、トラブル回避の近道です。

参照設定を理解するとVBAが怖くなくなる

参照設定を理解するとVBAが怖くなくなる
参照設定を理解するとVBAが怖くなくなる

Excel VBAで難しく感じやすい原因の一つが参照設定です。 しかし、仕組みが分かると「ただの準備作業」だと気づけます。

参照設定はVBAに力を与える存在です。 正しく使えば、Excelは単なる表計算ソフトではなく、 強力な業務自動化ツールになります。

まずは代表的な参照設定の役割を知り、 必要な場面で落ち着いて使えるようになることを目指しましょう。

まとめ

まとめ
まとめ

今回の記事では、Excel VBAの可能性を飛躍的に広げる「参照設定」について詳しく解説してきました。参照設定とは、いわばVBAという職人に「新しい専門道具」を渡すような作業です。標準の状態ではExcelの操作しかできない職人も、適切な設定を行うことで、ファイル操作のスペシャリストや、メール送信の達人、さらにはスライド作成のプロへと進化させることができます。

各参照設定のポイントをおさらい

今回ご紹介した4つの主要な参照設定は、実務において非常に頻繁に登場します。それぞれの特徴をしっかり掴んでおきましょう。

  • Microsoft Scripting Runtime:ファイルやフォルダの操作、連想配列(Dictionary)を使用する際に必須です。Windowsの基本操作をVBAで行うための土台となります。
  • Microsoft ActiveX Data Objects (ADODB):データベースやCSV、外部ブックとの高速な連携を可能にします。大量のデータを扱う際、メモリ効率を考えた処理には欠かせません。
  • Microsoft Outlook Object Library:メール作成から送信、予定表の取得まで、日常的なコミュニケーション業務を自動化します。
  • Microsoft PowerPoint Object Library:Excelで集計したデータを基に、プレゼンテーション資料をゼロから生成したり、グラフを貼り付けたりする作業を自動化します。

実践的なコード例:複数の道具を組み合わせる

実際の現場では、これらを単体で使うだけでなく、組み合わせて使うことで真価を発揮します。例えば、「フォルダ内のファイルをリストアップし(Scripting)、その情報をメールで送る(Outlook)」といった一連の流れも、参照設定があればスムーズに記述できます。


' 参照設定:Microsoft Scripting Runtime と Microsoft Outlook Object Library を利用した例
Sub SendFileListByEmail()
    Dim fso As Scripting.FileSystemObject
    Dim folder As Scripting.folder
    Dim file As Scripting.file
    Dim mailApp As Outlook.Application
    Dim mailItem As Outlook.MailItem
    Dim fileNames As String

    ' ファイルシステムオブジェクトの生成
    Set fso = New Scripting.FileSystemObject
    ' 指定したフォルダ内のファイル名を取得
    Set folder = fso.GetFolder("C:\Temp")

    For Each file In folder.Files
        fileNames = fileNames & file.Name & vbCrLf
    Next file

    ' Outlookの起動とメール作成
    Set mailApp = New Outlook.Application
    Set mailItem = mailApp.CreateItem(olMailItem)

    With mailItem
        .To = "example@test.com"
        .Subject = "ファイル一覧のお知らせ"
        .Body = "指定フォルダ内のファイル一覧です:" & vbCrLf & fileNames
        .Display '送信前に確認
    End With

    ' 後片付け
    Set fso = Nothing
    Set mailApp = Nothing
End Sub

上記のように、事前バインディング(Newキーワードを使った宣言)を行うには、VBEの「ツール」→「参照設定」から該当するライブラリにチェックを入れる必要があります。これにより、入力補完(インテリセンス)が効くようになり、開発効率が劇的に向上します。

Office Scriptsとの違いについても触れておきましょう

最近では、クラウド版Excelで動作する「Office Scripts」を活用する場面も増えています。VBAの参照設定はデスクトップアプリ限定の機能ですが、Office Scripts(TypeScript)では、ライブラリの読み込み方が異なります。参考までに、同様のロジックを意識したOffice Scriptsの書き方も見てみましょう。


function main(workbook: ExcelScript.Workbook) {
  // Office Scriptsでは、Excel内部の操作に特化しており、
  // ローカルファイルの操作やOutlookの直接操作は
  // 通常Power Automateを経由して行います。
  let sheet = workbook.getActiveWorksheet();
  let range = sheet.getRange("A1");
  range.setValue("VBAの参照設定と同様に、機能拡張を意識しましょう");
}

VBAの参照設定をマスターすることは、プログラミングの「外部連携」という概念を理解する第一歩です。最初はエラーが出ることもあるかもしれませんが、一つ一つのライブラリが何を提供してくれるのかを意識することで、あなたのコードはより力強く、柔軟なものに変わっていくはずです。

先生と生徒の振り返り会話

生徒

「先生、参照設定の使い分けがかなりクリアになりました!特に『事前バインディング』を使うと、コードを書いている途中にヒントが出るのがすごく助かりますね。」

先生

「その通りです。インテリセンスが効くのは大きなメリットですね。ただ、マクロを他の人に配布するときは、相手のパソコンに同じバージョンのソフトが入っているか注意が必要ですよ。」

生徒

「あ、そうか。自分のパソコンで動いても、相手のOfficeが古いバージョンだとエラーになっちゃう可能性があるんですね。その場合は『実行時バインディング』を検討すればいいんですか?」

先生

「よく覚えていますね!開発中は参照設定をつけて楽をして、配布時にCreateObjectを使う形に書き換えるのも一つのテクニックです。Scripting Runtimeなんかは、OS標準の機能なので比較的トラブルは少ないですけどね。」

生徒

「なるほど。まずはScripting Runtimeでファイル操作に慣れて、それからADODBでデータベース連携にも挑戦してみようと思います。大量のデータを扱う実務が多いので、きっと役立つはずです!」

先生

「その意気です!ADODBを使えば、Excelのセルを1つずつループで回すよりもずっと早く処理が終わることもあります。参照設定を使いこなして、ワンランク上の自動化を目指してくださいね。」

生徒

「はい、頑張ります!今日もありがとうございました!」

カテゴリの一覧へ
新着記事
New1
Office Scripts
Office Scriptsで日付判定!Excel条件付き書式を自動化して期限管理をラクにする方法
New2
Office Scripts
Office Scripts普及の歴史とMicrosoftの方向性!Excel自動化が進化してきた流れをやさしく解説
New3
Excel VBA
Excel VBA関数を用途別に作成!計算・文字列処理の基本を初心者向けに解説
New4
Office Scripts
Office Scriptsで条件付き書式を自動化!数値変化に応じてExcelの書式を自動更新する方法
人気記事
No.1
Java&Spring記事人気No1
Excel VBA
Excelマクロのセキュリティ設定の基本!安全に実行するための信頼センター設定まとめ
No.2
Java&Spring記事人気No2
Office Scripts
Office Scriptsでできること・できないことを完全整理!Excel自動化の基本と限界をやさしく解説
No.3
Java&Spring記事人気No3
Excel VBA
目的別にモジュールを分割する方法!処理単位で整理して見やすくするテクニック
No.4
Java&Spring記事人気No4
Excel VBA
Excel VBAとOffice Scriptsの違いを比較!初心者でもわかる学ぶべきスキル
No.5
Java&Spring記事人気No5
Excel VBA
Excel VBA基本文法の総まとめ!初心者が必ず押さえるべき20の基礎ポイント完全ガイド
No.6
Java&Spring記事人気No6
Office Scripts
Office Scriptsで条件付き書式を自動化!Excel自動化初心者向けスクリプト操作の基本
No.7
Java&Spring記事人気No7
Excel VBA
Excel VBAの開発環境を最速で整える!VBEの開き方から基本操作まで完全ガイド
No.8
Java&Spring記事人気No8
Office Scripts
Office Scriptsで日付判定!Excel条件付き書式を自動化して期限管理をラクにする方法