VBA(Base64エンコードとURLエンコード)

 

https://vba-create.jp/vba-base64-encode/
https://hitoriit.blog/archives/1430


-- 1. 開発タブの挿入でボタンを作成
ActiveXコントロールのものを使用する

-- 2. デザインモードONで作成したボタンをダブルクリックするとエディタが開くので下記コードを記載。デザインモードOFFで実行

 


Private Sub CommandButton1_Click()

'画面を更新しない
Application.ScreenUpdating = False
'確認メッセージを表示しない
Application.DisplayAlerts = False


Debug.Print EncodeBase64("admin:admin")

Debug.Print WorksheetFunction.EncodeURL("hoge@://fuga")


'確認メッセージを表示する
Application.DisplayAlerts = True
'画面を更新する
Application.ScreenUpdating = True


End Sub


Private Function EncodeBase64(ByVal text As String) As String

  Dim node As Object
  Dim obj As Object
  Set node = CreateObject("Msxml2.DOMDocument.3.0").createElement("base64")
  Set obj = CreateObject("ADODB.Stream")

  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

  EncodeBase64 = Replace(node.text, vbLf, "")
End Function