本文介绍了如何使用Excel VBA有效地对一个字符串进行base64编码?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要在VBA中编码一个100KB +字符串作为base64。是否有任何内置函数或COM对象可用,因为纯VBA方法复杂或者在这些卷中不能很好地扩展(参见和)?
I need to encode a 100KB+ string as base64 in VBA. Are there any built-in functions or COM objects available which will do this as a pure VBA approach is either complex or doesn't scale well at these volumes (see links from dbb and marxidad)?
推荐答案
您可以使用MSIML Base64编码功能,如:
You can use the MSXML Base64 encoding functionality as described at www.nonhostile.com/howto-encode-decode-base64-vb6.asp:
Function EncodeBase64(text As String) As String
Dim arrData() As Byte
arrData = StrConv(text, vbFromUnicode)
Dim objXML As MSXML2.DOMDocument
Dim objNode As MSXML2.IXMLDOMElement
Set objXML = New MSXML2.DOMDocument
Set objNode = objXML.createElement("b64")
objNode.dataType = "bin.base64"
objNode.nodeTypedValue = arrData
EncodeBase64 = objNode.Text
Set objNode = Nothing
Set objXML = Nothing
End Function
这篇关于如何使用Excel VBA有效地对一个字符串进行base64编码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!