Userform Bilder einfügen konvert Pdf
#1
Hallo an Alle.

Ich hätte eine Frage.

Habe ein UserForm, in der Bilder definiert werden sollen, die späterfür ein Schadensprotokoll in eine Pdf gesetzt werden sollen.

zB.

Bild 1 -> Textfeld -> Button einfügen
Bild 2 -> Textfeld -> Button einfügen 
Bild 3 -> Textfeld -> Button einfügen

Klick auf Button einfügen -> Bild auf HDD auswählen -> Pfad in Textfeld

Speichern

Es sollten dann alle 3 Bilder (mit Größenangabe) in ein TB gesetzt werden, und dann das TB als Pdf gespeichert werden.

Pdf-Funktion gibt es bereits.

Wie könnte ich dass mit den Bildern einfügen lösen, ohne die reguläre Einfügeoption zu nutzen?

Danke für Eure Anregungen


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#2
Die Userform habe ich hinbekommen!

Wie bekomme ich aus dem Pfad ein Bild ins Tabellenblatt?

=Bild() / =image() funzen ja erst ab 365

Noch nutze ich V2019!
Antworten Top
#3
Als Shape?
Antworten Top
#4
wie wäre es wenn du erstmal die gängigen KI-Modelle oder auch nur Eines befragst? Und wenn du dann nicht weiterkommst hier mit dem Code nachfragst. Du hast doch sicher schon bemerkt das nach ca. 2 Tagen ohne Antwort hier was nicht stimmen kann.
Antworten Top
#5
Hallöchen,

das klappt auch damit:

Thread-Excel-Word-Makrorekorder
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#6
So, die Bilder werden eingefügt.

Nur leider nicht an der richtigen Stelle.

Jetzt setzen sie sich übereinander

Code:
'Bilder einfügen

'Bilder löschen falls vorhanden
On Error Resume Next
Tabelle13.Shapes("Bild1").Delete
Tabelle13.Shapes("Bild2").Delete
Tabelle13.Shapes("Bild3").Delete
On Error GoTo 0

Bild1pfad = Sheets("Schäden").Range("U" & Zeile)
Bild2pfad = Sheets("Schäden").Range("V" & Zeile)
Bild3pfad = Sheets("Schäden").Range("W" & Zeile)

'Bild 1
If Dir(Bild1pfad) <> "" Then
With Tabelle13.Pictures.Insert(Bild1pfad)
'    .Height = 300
    .Width = 300
    .Name = "Bild1"
End With

With Tabelle13.Shapes("Bild1")
    .Top = Tabelle13.Range("B57").Top
    .Left = Tabelle13.Range("B57").Left
End With

End If

'Bild 2
If Dir(Bild2pfad) <> "" Then
With Tabelle13.Pictures.Insert(Bild2pfad)
'    .Height = 300
    .Width = 300
    .Name = "Bild2"
End With

With Tabelle13.Shapes("Bild2")
    .Top = Tabelle13.Range("B107").Top
    .Left = Tabelle13.Range("B107").Left
End With

End If

'Bild 3
If Dir(Bild3pfad) <> "" Then
With Tabelle13.Pictures.Insert(Bild3pfad)
'    .Height = 300
    .Width = 300
    .Name = "Bild3"
End With

With Tabelle13.Shapes("Bild3")
    .Top = Tabelle13.Range("B157").Top
    .Left = Tabelle13.Range("B157").Left
End With

End If
Antworten Top
#7
Hallo,

die Top und Left Eigenschaften des Shapes sind hier falsch, sondern du mußt die Top/Left Eigenschaft des Picture-Objekts ändern:
Code:
Tabelle1.Shapes(1).OLEFormat.Object.ShapeRange.Top = 100

Gruß Knobbi38
Antworten Top
#8
Leider funzt es nicht.
Antworten Top
#9
Hallöchen,

Zitat:Leider funzt es nicht.

gehört zu den Top 3 der Aussagen, anhand derer man die Ursachen leicht ermitteln kann ...


Setze .Top und .Left gleich mit in das Insert-With.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#10
Guten Morgen!

Dass hatte ich auch schon getesten, ohne Erfolg

Code:
With Tabelle13.Pictures.Insert(Bild1pfad)
'    .Height = 300
    .Width = 300
    .Name = "Bild1"
    .Top = 2000
    .Left = 0
End With

oder

Code:
With Tabelle13.Pictures.Insert(Bild1pfad)
'    .Height = 300
    .Width = 300
    .Name = "Bild1"
    .Top = Tabelle13.Range("B57").Top
    .Left = Tabelle13.Range("B57").Left
End With

Beides funzt nicht.

Hatte den Code von hier genutzt: https://www.youtube.com/watch?v=bOZHm3knCHM
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste