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