Excel VBA
2021/05/22 21:45
Excel VBA
Excel のバージョン情報
このページを作成する際に使った、Microsoft Excel 情報です。バージョン 2104 (ビルド 13929.20372)

Microsoft 365 のサブスクリプションを契約しており、基本的には最新版*1を利用しています。
メールアドレスなど、アカウント系の情報は消しています。
Excel VBA とは
現在発売されている Microsoft Excel は、標準でマクロ機能が存在します。いくつか Tera Term と連携するネタがあるので、それを記載したいと思います。
その前に、VBA を利用できる環境にするための設定から。
VBA の有効化
Excel オプションを開く
Excel VBA は、オプションからリボンを有効化することで簡単に利用することができるようになります。まず、メニューバーから「ファイル」を選択します。

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

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

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

何かの拍子にブロックされても分かりませんので、入っていなければいれておきましょう。
マクロの設定
左ペインから「マクロの設定」を選択します。ここでは、右ペインに出てくるマクロの設定から「すべてのマクロを有効にする(推奨しません。危険なコードが実行される可能性があります)」のチェックボックスを有効にします。
自分がいつ、どのように作った 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 が動作する Excel ファイルは、作成日付といったプロパティや、誰が作ったものなのかといった信頼できる情報をもとに開くようにしましょう。