ExcelVBA~ファイルをBase64エンコード・デコードする方法

  
※まだ書きかけです。すみません。
※間違ってたらすみません。
※メモ書きなので、自分でも意味不明な箇所も多いです。ごめんなさい。
  

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10298915845

「ファイルをBase64エンコード・デコードするVBAマクロ」
https://www.ka-net.org/blog/?p=4479
を少し加工。

Web検索してみたら、
「ファイルをBase64エンコード・デコードするVBAマクロ」
https://www.ka-net.org/blog/?p=4479
というのがありました。

Base64エンコードとは?
https://wa3.i-3-i.info/word11338.html

当方でFunctionをPrivate からPublicに変更後にテストしてみましたら、
xlsxもPDFも、
エンコードした結果をグローバル変数にいったん入れて、
そののち、そのグローバル変数の値をもとにデコードしたら、
xlsx、PDF、ともに、正常に?復元されました・・・・。
すべてのxlsxやPDFを完璧にエンコード、デコード、できるのかは
自分にはわかりませんが・・・。

セルにエンコードした値を入れたら、1セルだけでは足りませんで、
デコードが正常に行えませんでした。
セルに保存するなら、1行1セル、のように複数行が必要のようです。

あるいは、エンコードは、
テキストファイルやクリップボードに書き出すとか、
大量のテキストを書き出せるものに書き出したほうがいいかも?です。

==============

以下のコードで、エンコード結果をクリップボードに送っても、
そのクリップボードの内容から、
xlsx、PDF、ともに、正常に?復元されました・・・・。

クリップボードのデータを、いったんテキストファイルに貼り付け、
それをすべて選択してから、コピー、を実行し、その後、
DecodeBase64 を実行してもOKでした。

これもすべてのxlsxやPDFを完璧にエンコード、デコード、できるのかは
自分にはわかりませんが・・・。

以下は、クリップボードのデータをゲットしたり、送ったりのコードです。

====

'クリップボードにデータを送る。
Function Sendcb(s_FPath As String)

Dim o_cpb As Object
Set o_cpb = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
'↑「Microsoft Forms 2.0 Object Library」と書くとエラーになるので
' 「new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}」と書く。

With o_cpb
.SetText s_FPath '変数のデータをDataObjectに格納
.PutInClipboard 'DataObjectのデータをクリップボードに格納
End With

End Function

'クリップボードの値をゲットする。
Function Getcbdata() As String

Dim o_cpb As Object
Set o_cpb = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
'↑「Microsoft Forms 2.0 Object Library」と書くとエラーになるので
' 「new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}」と書く。

On Error Resume Next
With o_cpb
.GetFromClipboard
Getcbdata = .GetText
End With

End Function

========================

考え違いしてたらごめんなさい。

=============================================================================================
以上、知恵袋回答
=============================================================================================
=============================================================================================
=============================================================================================
=============================================================================================
=============================================================================================
以下、全体のコード。
=============================================================================================