Base64にエンコードする
ExcelVBAを使用して、Base64フォーマットにエンコードしたい場合があります。
サンプルコード
'■Base64へエンコードを行うサブプロシージャ
Public Function Call_EncodeBase64(ByRef text As String) As String
'■参照設定不要、オブジェクト準備
Dim node As Object, obj As Object
Set node = CreateObject("Msxml2.DOMDocument.3.0").createElement("base64")
Set obj = CreateObject("ADODB.Stream")
'■エンコード(textをBASE64へ変換)
node.DataType = "bin.base64"
With obj
.Type = 2
.Charset = "us-ascii"
.Open
.WriteText text
.Position = 0
.Type = 1
.Position = 0
End With
node.nodeTypedValue = obj.Read
'■改行を削除して返却(上記で取り除けない為)
Call_EncodeBase64 = Replace(node.text, vbLf, "")
End Function
使い方
上記をコピペでお好きなモジュール内に記載してください。
'■Base64へエンコードを行う
Public Sub call_Sample()
Debug.Print Call_EncodeBase64("aaa") 'aaa → YWFh
Debug.Print Call_EncodeBase64("sample") 'sample → c2FtcGxl
Debug.Print Call_EncodeBase64("password") 'passwoed → cGFzc3dvcmQ=
End Sub
コメント