Skip to the content.

まず結論

VBAマクロは、WordやExcelなどのOffice文書の中で処理を自動化する機能です。

SG試験では、VBAマクロとVBScriptを混同させる問題に注意します。

判断のポイントは、どちらもVisual Basic系に見えることではなく、どこで動くかです。

  • Word、Excel、文書ファイル、表計算ファイル → VBAマクロ
  • HTMLメール、Webページ、.vbsファイル → VBScript

「Visual Basicだから同じ」と考えると迷いやすいので、Office文書ならマクロ、HTMLメールならVBScriptと切り分けます。


直感的な説明

VBAマクロは、ExcelやWordの中に入れられる自動操作の手順書のようなものです。

たとえば、Excelで次のような作業を自動化できます。

  • 表の形を整える
  • 決まった計算を実行する
  • ボタンを押すと処理を始める
  • 複数の作業をまとめて行う

本来は、業務を効率化する便利な機能です。

しかし、悪意のあるマクロが文書ファイルに入っていると、ファイルを開いた利用者の操作をきっかけに、不正な処理が実行されることがあります。

SG試験では、ここをマクロウイルス不正な添付ファイルの文脈で問われることがあります。

VBScriptと似て見える理由は、どちらもVisual Basic系の名前が出てくるからです。
でも、直感的には次のように分けるとわかりやすいです。

見るポイント VBAマクロ VBScript
動く場所 Word、ExcelなどのOffice文書 HTMLメール、Webページ、.vbsファイル
きっかけ 文書ファイルを開く、マクロを有効化する スクリプトを実行する、HTMLメールなどを開く
試験での見え方 マクロウイルス スクリプト型のウイルス

定義・仕組み

VBAは、Visual Basic for Applicationsの略です。

Microsoft Officeなどのアプリケーション上で、作業を自動化するために使われるプログラミング言語です。Microsoftの公式ドキュメントでも、VBAはOfficeアプリケーションで操作を自動化したり、機能を拡張したりするために使われるものとして説明されています。
参考:Office Visual Basic for Applications documentation - Microsoft Learn

VBAマクロは、主に次のような流れで使われます。

  1. WordやExcelなどの文書ファイルにマクロを保存する
  2. 利用者がその文書ファイルを開く
  3. マクロを有効化すると、登録された処理が実行される

通常の業務では便利な自動化機能ですが、攻撃者が悪用すると、次のような被害につながることがあります。

  • 不正なプログラムを実行する
  • 外部サイトへ接続する
  • 情報を外部へ送信する
  • 別のマルウェアをダウンロードする

SG試験では、VBAの文法を覚える必要はありません。

大切なのは、Office文書に埋め込まれた処理が、利用者の操作によって実行されるリスクを理解することです。


どんな場面で使う?

VBAマクロは、本来は業務効率化のために使います。

たとえば、次のような場面です。

  • Excelの定型レポートを自動作成する
  • Word文書の書式をまとめて整える
  • 入力チェックを自動化する
  • 複数ファイルの処理をまとめて行う

一方で、セキュリティの文脈では、メール添付されたOffice文書に注意が必要です。

SG試験では、次のような表現が出たらVBAマクロを疑います。

  • ワープロの文書ファイルに感染する
  • 表計算ファイルに感染する
  • 関連するアプリケーションソフトを利用して動作する
  • マクロ機能を悪用する
  • 文書ファイルを開かせ、マクロを有効化させる

実務での対策としては、次のようなものがあります。

  • 不審な添付ファイルを開かない
  • マクロを不用意に有効化しない
  • インターネットから取得したOffice文書のマクロを制限する
  • 信頼できる送信元か確認する
  • マルウェア対策ソフトやメールフィルタを利用する
  • 利用者教育で「マクロを有効化してください」という誘導に注意させる

選択肢では、便利な自動化機能としての説明なのか、悪用されたマクロウイルスとしての説明なのかを見分けることが大切です。


よくある誤解・混同

VBAマクロで一番混同しやすいのは、VBScriptです。

どちらもVisual Basic系の名前が出てくるため、同じもののように感じやすいです。

ただし、SG試験では次のように分けて考えます。

混同しやすいもの 判断基準
VBAマクロ Word、Excel、文書ファイル、表計算ファイル、マクロ機能
VBScript HTMLメール、Webページ、.vbsファイル、スクリプト
ブートセクタウイルス ブートセクタ、起動領域、OS起動前

特に注意したいのは、次のひっかけです。

WordやExcelのマクロもVisual Basic系だから、VBScriptの説明として正しいのでは?

これは迷いやすいですが、SG試験では動く場所が違うと考えます。

  • Office文書の中で動く → VBAマクロ
  • HTMLメールやスクリプトとして動く → VBScript

また、次のような強い表現にも注意します。

  • すべてのOSで動作する
  • 必ず感染する
  • 開いただけで必ず実行される

SG試験では、こうした断定表現は誤り選択肢になりやすいです。

特にマクロは、設定や環境によっては自動実行が制限されることがあります。
そのため、「マクロを有効化させる誘導」も攻撃の重要なポイントになります。


まとめ(試験直前用)

VBAマクロは、WordやExcelなどのOffice文書で処理を自動化する機能です。

SG試験では、VBScriptとの違いを問われることがあります。

判断基準は次の3つです。

  • Word・Excel・文書ファイル → VBAマクロ
  • HTMLメール・Webページ・.vbs → VBScript
  • ブートセクタ・OS起動前 → ブートセクタウイルス

迷ったら、名前ではなく、どこに埋め込まれて、何を使って動くかで切り分けましょう。

🔗 関連記事


🏠 情報セキュリティマネジメントトップに戻る