忍者ブログ
ExcelVBAとGoogleMapの連携について。 作成したExcelVBAの保管や備忘録的なもの。
Calendar
<< 2024/11 >>
SMTWTFS
12
3456 789
10111213 141516
17181920 212223
24252627 282930
Recent Entry
Recent Comment
Category
5   4   3   2  
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

VBAでの画像出力は調べるといろいろありますね。
今回はVBAからbase64を用いたpng画像の出力について。


このブログで公開しているExcel_Mapを作る過程の副産物ですが、もしかして何かの役に立つかも。
base64について調べると、主にHTMLテキスト内に画像ファイルを埋め込む目的に使われている模様。
画像ファイル(バイナリデータ)をテキストデータに変換するのはフリーソフトでも大丈夫です。
画像ファイルは事前に作成してbase64エンコードしておきましょう。

さっそくコード↓↓

'***************************************************************************************************
'関数名:OutputPng
'機 能:png画像ファイルを出力します。
'引 数:
'戻り値:
'備 考:
'***************************************************************************************************
Sub OutputPng()
Dim data() As Byte
Const OutputName$ = ThisWorkBookPath & "\output.png"
data = DecodeBase64(ここにbase64エンコード文字列)
Open OutputName For Binary As #1
    For i = 0 To UBound(data)
     Put #1, , data(i)
    Next
Close #1
End Sub

'***************************************************************************************************
'関数名:DecodeBase64
'機 能:base64文字列→Byte配列への変換を行います。
'引 数:strData[string]
'戻り値:[Byte()]
'備 考:
'***************************************************************************************************
Function DecodeBase64(strData As String) As Byte()
With CreateObject("MSXML2.DOMDocument").createElement("b64")
        .DataType = "bin.base64"
        .Text = strData
        DecodeBase64 = .nodeTypedValue
End With
End Function

↑↑ここまで

PR

コメント
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
プロフィール
HN:
akira kumagai
性別:
非公開
P R
Template & Icon by kura07 / Photo by Abundant Shine
Powered by [PR]
/ 忍者ブログ