我想用VBA使用Base64插入图像到工作表,但我找不到任何示例如何正确地在任何地方做到这一点。在VBA中使用Base64将图像插入到工作表中?
我对图像的字符串设置,是这样的:
vLogo = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZoAAABfCAY"
我只是想做到以下几点,但不是寻找一个图像文件存储在VBA图像。
Sheets("Sheet1").Pictures.Insert (Application.ActiveWorkbook.Path & "\vLogo.png")
我甚至看了做这样的事情:
' Write the image to file
Dim myFile As String
myFile = Application.ActiveWorkbook.Path & "\temp.png"
Open myFile For Output As #1
Write #1, vLogo
Close #1
' Insert the image
Sheets("Sheet1").Pictures.Insert (Application.ActiveWorkbook.Path & "\temp.png")
' Delete the temp file
Kill Application.ActiveWorkbook.Path & "\temp.png"
但我无法弄清楚如何写编码图像文件以base64。
这里是一个Base64库。参见:http://www.source-code.biz/snippets/vbasic/12.htm –
我写了一个[VB6/VBA Base64类](http://www.vbforums.com/showthread.php?379072-VB -Fast-Base64-Encoding-and-Decoding)***方式***当天回来。请注意,由于字符串转换,它在编码方面存在一些问题。这可能是一个好的开始。 – Comintern
@RyanWildry我对此有所了解,对于我应该做什么不是很清楚,我遇到的第一个问题是我的变量不是4的倍数,所以我删除了该部分:'data:image/png; base64,'然后一旦它解码我不能插入,因为它不是一个图片被发送到图片插入。 – Ryflex