Excel VBA

2021/05/22 21:45 OS別::Windowsその他::技術情報

Excel VBA


Excel のバージョン情報

このページを作成する際に使った、Microsoft Excel 情報です。

バージョン 2104 (ビルド 13929.20372)
Excel バージョン情報
Excel バージョン情報

Microsoft 365 のサブスクリプションを契約しており、基本的には最新版*1を利用しています。
メールアドレスなど、アカウント系の情報は消しています。

Excel VBA とは

現在発売されている Microsoft Excel は、標準でマクロ機能が存在します。

いくつか Tera Term と連携するネタがあるので、それを記載したいと思います。
その前に、VBA を利用できる環境にするための設定から。

VBA の有効化

Excel オプションを開く
Excel VBA は、オプションからリボンを有効化することで簡単に利用することができるようになります。

まず、メニューバーから「ファイル」を選択します。

Excel 起動
Excel 起動

左ペインから「オプション」を選択します。

オプション選択
オプション選択
マクロを利用する設定
Excel のオプションが表示されるので、左ペインから「トラスト センター」を選択します。
ここで、右ペインに「トラスト センターの設定」が表示されていることが確認できます。

トラスト センターの設定
トラスト センターの設定

メッセージバー
トラスト センターでは、メッセージ バーが表示されると思います。

「ActiveX コントロールやマクロなどのアクティブ コンテンツがブロックされた場合、すべてのアプリケーションにメッセージ バーを表示する」にチェックが入っていることを確認します。

メッセージ バーの表示
xxxx

何かの拍子にブロックされても分かりませんので、入っていなければいれておきましょう。
マクロの設定
左ペインから「マクロの設定」を選択します。

ここでは、右ペインに出てくるマクロの設定から「すべてのマクロを有効にする(推奨しません。危険なコードが実行される可能性があります)」のチェックボックスを有効にします。

自分がいつ、どのように作った VBA マクロなのかは分かると思いますので、有効にしても問題ないという理屈です。

思い当たらないファイルは、基本的に開かなければ問題になりません。

マクロの設定
マクロの設定

「警告を表示してすべてのマクロを無効にする」を選択しても良いでしょう。
VBA マクロが入っている Excel ファイルを開いたときに、画面上部に薄い黄色で「セキュリティの警告 マクロが無効にされました。[コンテンツの有効化]」がでます。

この場合、そのファイルは「コンテンツの有効化」を押して実行を許可しなければ動きません。
逆に言うとマクロを動かすために許可すればよいので、確認するという観点では推奨できるものと思います。


このページの趣旨からは外れるため解説はしませんが、安全にマクロを利用する場合はデジタル署名を行うことが可能です。
デジタル署名を行うと、誰が VBA マクロを含むファイルを作成したかがシステム的に分かるため、安全になります。


「OK」を選択して、Excel のオプション画面に戻ります。

マクロを開発する設定
Excel のオプションが表示されたら、左ペインから「リボンのユーザー設定」を選択します。
ここで、右ペインに「□開発」が表示されていることが確認できます。

開発 有効化ボタン
開発 有効化ボタン

「開発」にチェックをつけて「OK」を押します。

開発 有効化状態
開発 有効化状態

Excel の通常画面に戻ります。
この時、メニューバーに「開発」が表示されていれば、設定できています。

メニューバーの開発
メニューバーの開発

VBA 標準モジュールの追加

開発メニューを選択すると、リボンが表示されます。
VBA でコードを書きたいときは、ここで「Visual Basic」を選択します。

開発リボンの内容
開発リボンの内容

「VBAProject(Book 1)」でも「Microsoft Excel Object」でも構わないのですが、右クリックして「挿入」→「標準モジュール」と進みます。

標準モジュールの追加
標準モジュールの追加

Excel VBA として、標準モジュールが追加されました。

追加した標準モジュールの内容
追加した標準モジュールの内容
VBA マクロのある Excel ファイルの保存
標準モジュールを追懐したファイルは、拡張子「.xlsm」で保存します。
VBA マクロが有効なファイルはサイバー攻撃に利用されることが多いので、注意する必要があるためです。

VBA 有効ファイルの保存
VBA 有効ファイルの保存

VBA が動作する Excel ファイルは、作成日付といったプロパティや、誰が作ったものなのかといった信頼できる情報をもとに開くようにしましょう。

*1 : 更新タイミングによっては、少し古いバージョンだったりもします。