---
title: "VBAマクロとは？VBScriptとの違い【SG試験】"
description: "VBAマクロは、WordやExcelなどのOffice文書で処理を自動化する機能です。SG試験で混同しやすいVBScriptとの違いを、動く場所で整理します。 試験対策として重要語の定義・具体例・よくある誤解をまとめ、短時間で復習できるように整理しています。"
last_modified_at: "2026-05-08"
canonical_url: "https://stemtazoo.github.io/sg/vba-macro/"
section: "sg"
---

## まず結論

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](https://learn.microsoft.com/en-us/office/vba/api/overview/)

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起動前 → ブートセクタウイルス

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