Я не уверен, что это за проблема, но я использую следующую пару процедур, чтобы получить двоичные данные из файла, а затем кодировать их с помощью base64.Код требует библиотеки MSXML - я использую версию 3, которая должна быть доступна для всех версий Win2K +.
Для получения двоичных данных из файла:
Public Function GetFileData(ByVal Filename As String) As Byte()
Dim f As Integer
f = FreeFile
Open Filename For Binary Access Read As #f
ReDim GetFileData(0 To LOF(f) - 1)
Get #f, , GetFileData
Close #f
End Function
Для преобразования байтового массива встрока base64:
Public Function GetBase64String(ByRef data() As Byte) As String
Dim doc As DOMDocument
Dim root As IXMLDOMElement
Set doc = New DOMDocument
Set root = doc.createElement("encode")
root.dataType = "bin.base64"
root.nodeTypedValue = data
GetBase64String = root.Text
Exit Function