VBA Bild in Picturebox laden, als JPG speichern

Hallo,

ich hab jetzt mehrer lösungen aus dem internet versucht aber komm auf keinen grünen Zweig.

Ich will ein Bild in VBA in der Userform in eine Picturebox laden, und dann nach bestätigung als Jpg abspeichern. Sollte doch eig. kein Problem sein, dachte ich zumindest.

könnte jetzt meinen code reinschreiben aber der geht einfach nicht;(

Danke
Michael

Hallo bibs2511,

kann hier leider nicht helfen, da ich, was VBA angeht, nur sporadische Kenntnisse habe. Aber ich verstehe auch nicht ganz, was Du genau vor hast. Wo kommt das Bild denn her? In welchem Format ist es? Wieso muss es neu abgespeichert werden nach Betsätigung?

Eine genaue Beschreibung, was Du vorhast, würde helfen. Hast Du Deine Frage schon ins Fourm gestellt? Da sind immer 2-3 sehr gute Leute, die helfen sicher.

Hi,

könntest Du Deinen Code mal posten?

Grüße

Mathias

Hallo Michael,

leider befinde ich mich seit Jahren schon nicht mehr im VBA Bereich und kann dir da nicht qualifiziert weiterhelfen. Ich habe mittlerweile mein Profil aktualisiert, damit ich „fälschlich“ keine weiteren Anfragen bekomme…

Sorry! Gruß: Jürgen

Private Sub CommandButton1_Click()

Dim objPict As Object, objChrt As Chart
Dim rngImage As Range, strFile As String

Var1 = Range(„b11“).Value
bild5box.picture = LoadPicture(„C:\Dokumente und Einstellungen\mbiberger.REEPC30\Eigene Dateien\Photo Daten“ & Var1 & „.jpeg“)

On Error GoTo ErrExit

With Sheets(„Tabelle1“) 'Tabellenname - Anpassen!

Set rngImage = bild5box.picture

rngImage.CopyPicture Appearance:=xlScreen, Format:=xlBitmap

.PasteSpecial Format:=„Bitmap“, Link:=False, DisplayAsIcon:=False

Set objPict = .Shapes(.Shapes.Count)

Wert = Range(„b1“).Value

strFile = „C:\Dokumente und Einstellungen\mbiberger.REEPC30\Desktop“ & Wert & „\bild_“ & Wert & „.jpg“ 'Pfad und Dateiname für das Bild

objPict.Copy

Set objChrt = .ChartObjects.Add(1, 1, objPict.Width + 8, objPict.Height + 8).Chart

objChrt.Paste
objChrt.Export strFile
objChrt.Parent.Delete
objPict.Delete

End With

ErrExit:
Set objPict = Nothing
Set objChrt = Nothing
Set rngImage = Nothing
End Sub

hab schon mehrere Varianten versucht… das war die letzte… hab den code aus dem netz und versucht umzuschreiben.

der Teil mit den Variablen Funktioniert, blos kann ich nicht auf das gewünschte bild zugreifen

danke
michael

Hallo,

darf ich Dich an diesen Thread verweisen?
http://www.vbarchiv.net/tipps/details.php?id=1246

Falls Du da nichts rausziehen kannst melde Dich noch mal.

GDIPlus gibts als kostenlosen Download direkt bei Microsoft.

Grüße

Mathias

ja den hab ich mir auch schonmal angeschaut, aber wenn ich das alles so einfüge wie erklärt dann kommt bei dem 1. code der ins module eingefügt wird fogende fehlermeldung: „Fehler beim Kompilieren, nach end sub, end funktion können nur kommentare stehen.“
und dieser teil wird makiert

„Private Declare Function GdiplusStartup Lib :„GDIPlus“ ( _
token As Long, _
inputbuf As GdiplusStartupInput, _
Optional ByVal outputbuf As Long = 0) As Long“

hm weis nicht was da falsch sein soll

Hi,

sorry um das zu beantworten brauche ich wieder den ganzen Code.
Aber schon mal vorweg, wenn man mit Declare arbeitet MUSS diese Deklaration VOR dem ersten Sub stehen.

Grüße

Mathias

Hi,

tut mir leid, damit hab ich wenig am Hut. Ich bin Kaufmann und arbeite entweder mit langen Texten oder mit komplexen Tabellen.

Sorry

Markus

http://www.vbarchiv.net/tipps/details.php?id=1246
es handelt sich um den code von vbarchiv… ich denke mal der soll im normalfall funktionieren oder?

weis wirklich nicht mehr weiter… so schwierig kann das doch nicht sein.

Hallo Michael,

jetzt ist es natürlich schwierig für mich, da ich nicht weiß, in welchem Programm (Word, Excel, etc.) und welche Version Du da arbeitest.

Generell gilt:
Lege im UserForm ein Objekt vom Typ „Bild“ oder wie es neuerdings heißt „Anzeige“ an.
Diesem Objekt gibst Du einen Namen, sagen wir „Image1“

Im Code solltest Du dann mit der Picture-Eigenschaft zum Ziel kommen.

object.Picture = LoadPicture( pathname )
Die Syntax für die Picture-Eigenschaft besteht aus folgenden Teilen:
Teil Beschreibung
object Erforderlich. Ein gültiges Objekt.
pathname Erforderlich. Der vollständige Pfad zu einer Bilddatei.

also:
Me.Image1.Picture = LoadPicture(Pfad und Dateiname)
Danach würde ich das UserForm aktualisieren
=> Me.Repaint

Danach die Abfrage „Wollen Sie speichern“

Gruß
Harry