Excelの作業時、Webサービスからデータ取得をするためにBase64エンコードをする必要性があったので、対応方法の備忘録。
Excelの標準数式で、Base64エンコードができる関数は確認できなかったので、VBAとコマンドプロンプトによる方法です。
確認のExcelは「Microsoft® Excel® for Microsoft 365 MSO」(バージョン2406)です。
なお、Web上でBase64エンコードができるサービスもありますが、今回は「ログイン名:パスワード」のBase64エンコードだったので、念のためローカルPCでできるもので実施。
コマンドプロンプトを用いた方法
Windowsのcertutilコマンドでbase64エンコード・デコードができとのこと。
certutil -f -encode "入力ファイル" "出力ファイル"
certutil.exe は、証明書サービスの一部としてインストールされるコマンドライン プログラムとのことです。
VBAを用いた方法
「Msxml2.DOMDocument.」、「ADODB.Stream」オブジェクトを利用してできます。以下のサンプルコードで実行できました。
Functionなので、そのままユーザー定義関数として使用も可能。
以上、ExcelでBase64エンコードの方法でした。