首页 > 解决方案 > 将文件转换为二进制文件以插入 xml 文件

问题描述

如果我查看 MS Infopath XML 文件的内部,附件似乎是存储在标签之间的某种 ASCII 二进制代码。我没有确定的背景,所以我不确定。我认为这应该很容易用 VBA 生成。

我正在使用的代码如下。在这种情况下,我试图从我可以嵌入的 Excel 文件中获取文本。如果您运行该代码,则错误应该与参数类型错误有关。在这种情况下,我引用了一个 Excel 文件,但它可能是很多东西。

标签之间的代码类似于:stu2zAQvBfIPwi8BhadFCiKwnIOSXNMA8QFeqWptUWYr5Lr1P77rqg4MQLHimoCzUWURHJmdpaPnVxtjC4eI

我不知道这是否有帮助,但我不知道该怎么做。

Const adTypeBinary = 1Const adTypeText = 2
Const adModeReadWrite = 3


Sub RunThis()
    bin2var "c:\documents\IYYMMCC Validation.xlsx"
End Sub


Function bin2var(filename As String) As String
    Dim f As Integer
    f = FreeFile()
    Open filename For Binary Access Read Lock Write As #f
        bin2var = Space(FileLen(filename))
        Get #f, , bin2var
        thestring = BytesToString(bin2var, CdoUS_ASCII)
    Close #f
End Function


Function BytesToString(bytes, charset)
    With CreateObject("ADODB.Stream")
        .Mode = adModeReadWrite
        .Type = adTypeBinary
        .Open
        .Write bytes
        .Position = 0
        .Type = adTypeText
        .charset = charset
        BytesToString = .ReadText
    End With
End Function

标签: xmlbinaryattachment

解决方案


标签之间的代码...

...很可能是Base64
因此,使用 Base64 编码器将二进制文件编码为 Base64 格式,然后将该字符串包含到 XML 文件中。

假设您使用 VisualBasic,快速搜索显示此解决方案


推荐阅读