Страницы: 1
RSS
Перекодирование в Base64
 
Доброе утро уважаемые форумчане. Прошу вашей помощи, так как у самого не осталось мыслей.
Есть файл Ексель (прикладываю), он формирует файл Ворд, вносит туда данные и сохраняет его в ПДФ (так было нужно по условию задания) (в оригинале он формирует еще файл XML для передачи данных)
Нужно созданный (или создаваемый) файл ПДФ перекодировать макросом в Base64. В интренете есть макросы, люди пишут что макросы рабочие. Но у меня не получается с ними ничего сделать. Прошу показать или написать. (может я не туда макрос вставляю или не правильно запускаю)
Заранее спасибо всем откликнувшимся.
Примеры макросов по кодированию так же прилагаю.
Код
Function Base64FromFile$(FilePath$) 'получение base64 файла
    Dim ByteArr() As Byte
    Open FilePath For Binary Access Read As #1
    ReDim ByteArr(LOF(1))
    Get #1, 1, ByteArr
    Close #1
    With CreateObject("MSXML2.DOMDocument").createElement("b64")
        .DataType = "bin.base64"
        .nodeTypedValue = ByteArr
        Base64FromFile = .text
    End With
End Function


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
 
нашел макрос который перекодирует информация в ячейке в файле Ексель. файл с макросом (функцией) прилагаю. Функция работает.
Остался вопрос. Как файл ПДФ или его информацию сохранить в Base64
Изменено: alexthegreat - 25.05.2018 11:15:49
 
Нашел макрос, который который кодирует рисунки. Никак не могу его применить к своей задаче. Если у кого будут мысли. Пишите. Буду рад
Код
Sub save_gif()
Dim A As String
A = "R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7"
Open "C:\Users\ôôô.jpeg" For Binary As #1
   Put #1, 1, DecodeBase64(A)
Close #1
End Sub



 
Private Function DecodeBase64(ByVal strData As String) As Byte()
 
    Dim objXML As MSXML2.DOMDocument
    Dim objNode As MSXML2.IXMLDOMElement
    
    ' help from MSXML
    Set objXML = New MSXML2.DOMDocument
    Set objNode = objXML.createElement("b64")
    objNode.DataType = "bin.base64"
    objNode.text = strData
    DecodeBase64 = objNode.nodeTypedValue
    
    ' thanks, bye
    Set objNode = Nothing
    Set objXML = Nothing
 
End Function
Изменено: alexthegreat - 25.05.2018 13:05:53
Страницы: 1
Наверх