shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Excel】Base64エンコードの方法(VBA・コマンドプロンプト)

Excelの作業時、Webサービスからデータ取得をするためにBase64エンコードをする必要性があったので、対応方法の備忘録。

Excelの標準数式で、Base64エンコードができる関数は確認できなかったので、VBAとコマンドプロンプトによる方法です。

確認のExcelは「Microsoft® Excel® for Microsoft 365 MSO」(バージョン2406)です。

なお、Web上でBase64エンコードができるサービスもありますが、今回は「ログイン名:パスワード」のBase64エンコードだったので、念のためローカルPCでできるもので実施。

コマンドプロンプトを用いた方法

Windowsのcertutilコマンドでbase64エンコード・デコードができとのこと。

certutil -f -encode "入力ファイル" "出力ファイル"

参考: WindowsでBase64エンコード/デコードする方法 #コマンドプロンプト - Qiita

certutil.exe は、証明書サービスの一部としてインストールされるコマンドライン プログラムとのことです。

learn.microsoft.com

VBAを用いた方法

「Msxml2.DOMDocument.」、「ADODB.Stream」オブジェクトを利用してできます。以下のサンプルコードで実行できました。

Functionなので、そのままユーザー定義関数として使用も可能。

vba-create.jp

 

learn.microsoft.com

 

以上、ExcelでBase64エンコードの方法でした。