You are here:---Rispondi a: Codifica file pdf in base 64binary
Rispondi a: Codifica file pdf in base 64binary 2019-01-28T17:55:41+02:00

Home Forum Domande su Excel VBA e MACRO Codifica file pdf in base 64binary Rispondi a: Codifica file pdf in base 64binary

Avatarrexottantotto
Partecipante
    Post totali: 153

    In rete ho trovato questo esempio che si applica a Excel

    http://exceldevelopmentplatform.blogspot.com/2017/11/use-msxml2-to-encode-bytes-or-string-to.html

    Use MSXML2 to encode bytes or String to Base64
    Option Explicit
    Option Private Module

    ‘* Tools->References
    ‘* Microsoft XML, v6.0

    ‘* External Docs
    ‘* MSDN – How to Encode XML Data  – https://msdn.microsoft.com/en-us/library/aa468560.aspx
    ‘* MSDN – nodeTypedValue Property – https://msdn.microsoft.com/en-us/library/ms762308(v=vs.85).aspx
    ‘* SO – Base64 Encode String in VBScript – https://stackoverflow.com/questions/496751/base64-encode-string-in-vbscript#answer-506992

    Private Sub TestBase64Encode()
    Dim sOriginal As String
    sOriginal = “Hello world”

    Dim sBase64 As String
    sBase64 = Base64EncodeString(sOriginal)

    Dim sDecoded As String
    sDecoded = Base64DecodeString(sBase64)

    Debug.Assert sOriginal = sDecoded

    End Sub

    Function Base64EncodeString(ByVal sText As String) As String
    Dim byt() As Byte

    byt = VBA.StrConv(sText, VbStrConv.vbFromUnicode, 1033)

    Base64EncodeString = Base64EncodeFromBytes(byt)
    End Function

    Function Base64EncodeFromBytes(ByRef byt() As Byte) As String

    Dim oXML  As MSXML2.DOMDocument60
    Set oXML = New MSXML2.DOMDocument60

    Dim oNode As MSXML2.IXMLDOMNode

    Set oNode = oXML.createElement(“base64”)
    oNode.DataType = “bin.base64”

    oNode.nodeTypedValue = byt
    Base64EncodeFromBytes = oNode.Text

    Debug.Assert TypeName(Base64EncodeFromBytes) = “String”
    Set oNode = Nothing
    Set oXML = Nothing
    End Function

    Function Base64DecodeString(ByVal sText As String) As String

    Dim byt() As Byte
    byt = Base64DecodeToBytes(sText)

    Base64DecodeString = VBA.StrConv(byt(), VbStrConv.vbUnicode, 1033)

    End Function

    Function Base64DecodeToBytes(ByVal sEncoded As String) As Byte()

    Debug.Assert TypeName(sEncoded) = “String”

    Dim oXML  As MSXML2.DOMDocument60
    Set oXML = New MSXML2.DOMDocument60

    Dim oNode As MSXML2.IXMLDOMNode
    Set oNode = oXML.createElement(“base64”)

    oNode.DataType = “bin.base64”
    oNode.Text = sEncoded

    Base64DecodeToBytes = oNode.nodeTypedValue

    Set oNode = Nothing
    Set oXML = Nothing
    End Function

    Quello che non riesco a capire cosa codifica e decodifica.

    Penso che sia un file di testo.

    Però nelle due funzioni non trovo l’apertura di nessun file.

    Cioè se codifica un testo nella funzione dovrebbe esserci una istruzione che seleziona un file di testo, lo apre e poi lo codifica.

    Non capisco.

     

     

     

    • Questa risposta è stata modificata 3 mesi, 3 settimane fa da Avatar rexottantotto.

    Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

    Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

    Chiudi