
94451
03.02.2016, aktualisiert um 13:05:26 Uhr
Excel, Bild als BASE64 in Zelle Speichern . Bild aus BASE64 in Shape darstellen
Hallo,
hier habe ich eine Lösung gefunden wie man ein Bild als BASE64 in einer Zelle Speichert...
http://stackoverflow.com/questions/2043393/convert-image-jpg-to-base64- ...
jetzt kommt die Frage, wie ich das Bild wieder zurückwandeln kann und in einen Shape anzeigen kann?
Wäre nett wenn jemand hier weiter weiß...
Kurz zu dem was ich vorhabe...
Ich habe eine Tabelle mit Informationen und unter anderem ein Bild... Diese Informationen will ich in einer Übersichtsseite Pro Zeile abbilden.
Dazu gehört auch immer ein Bild, das Bild speicher ich bereits jetzt erfolgreich in jeder Zeile als Base64-Code ab.
Vielen Dank
hier habe ich eine Lösung gefunden wie man ein Bild als BASE64 in einer Zelle Speichert...
http://stackoverflow.com/questions/2043393/convert-image-jpg-to-base64- ...
jetzt kommt die Frage, wie ich das Bild wieder zurückwandeln kann und in einen Shape anzeigen kann?
Public Function EncodeFile(strPicPath As String) As String
Const adTypeBinary = 1 ' Binary file is encoded
' Variables for encoding
Dim objXML
Dim objDocElem
' Variable for reading binary picture
Dim objStream
' Open data stream from picture
Set objStream = CreateObject("ADODB.Stream")
objStream.Type = adTypeBinary
objStream.Open
objStream.LoadFromFile (strPicPath)
' Create XML Document object and root node
' that will contain the data
Set objXML = CreateObject("MSXml2.DOMDocument")
Set objDocElem = objXML.createElement("Base64Data")
objDocElem.dataType = "bin.base64"
' Set binary value
objDocElem.nodeTypedValue = objStream.Read()
' Get base64 value
EncodeFile = objDocElem.Text
' Clean all
Set objXML = Nothing
Set objDocElem = Nothing
Set objStream = Nothing
End Function
Wäre nett wenn jemand hier weiter weiß...
Kurz zu dem was ich vorhabe...
Ich habe eine Tabelle mit Informationen und unter anderem ein Bild... Diese Informationen will ich in einer Übersichtsseite Pro Zeile abbilden.
Dazu gehört auch immer ein Bild, das Bild speicher ich bereits jetzt erfolgreich in jeder Zeile als Base64-Code ab.
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 295000
Url: https://administrator.de/forum/excel-bild-als-base64-in-zelle-speichern-bild-aus-base64-in-shape-darstellen-295000.html
Ausgedruckt am: 22.04.2025 um 20:04 Uhr
3 Kommentare
Neuester Kommentar

Moin,
wieso der Umweg über Base64, wenn das doch direkt geht ?
Wie Artikeliste automatisch mit Bildern per Makro befüllen? In Mappe speichern nicht verknüpfen!
Gruß jodel32
wieso der Umweg über Base64, wenn das doch direkt geht ?
Wie Artikeliste automatisch mit Bildern per Makro befüllen? In Mappe speichern nicht verknüpfen!
Gruß jodel32

Wenn das nicht geht, muss ich wohl sowas wie hier angeboten machen... aber "Interessanter" wäre die andere Lösung...
Einfach aus dem Base64 Encoded Stream wieder eine Bilddatei schreiben und dann als Shape laden.Wie man ein Shape lädt kannst du aus obigen Thread entnehmen, hier das essentielle zum dekodieren der Daten und schreiben einer Bilddatei mit den Daten:
Zeile 1 und 2 anpassen ...
base64Decoded = decodeBase64("HIER DEIN BASE64 STRING==")
writeBytes "C:\Ordner\Zieldatei.jpg", base64Decoded
private function decodeBase64(base64)
dim DM, EL
Set DM = CreateObject("Microsoft.XMLDOM")
Set EL = DM.createElement("tmp")
EL.DataType = "bin.base64"
EL.Text = base64
decodeBase64 = EL.NodeTypedValue
end function
private Sub writeBytes(file, bytes)
Dim binaryStream
Set binaryStream = CreateObject("ADODB.Stream")
binaryStream.Type = 1
binaryStream.Open
binaryStream.Write bytes
binaryStream.SaveToFile file, 2
End Sub