Bild aus Zw-Ablage bleibt in UF weiß
15.09.2022 22:13:36
Harald
ich habe mir aus dem Archiv diesen Code von Nepumuk genommen: https://www.herber.de/forum/archiv/1712to1716/1715772_Zwischenablage_in_Userform_anzeigen_und.html
Public Sub Image1_Click()
Public Sub Image1_Click()
Const FILE_PATH As String = "C:\Users\Harry\Desktop\Test.jpg"
Dim objShape As Shape, objChartObject As ChartObject
Dim objWorksheet As Worksheet
Application.ScreenUpdating = False
Set objWorksheet = ThisWorkbook.Worksheets.Add
With objWorksheet
Call .Paste
If .Shapes.Count = 1 Then
Set objShape = .Shapes(1)
Set objChartObject = .ChartObjects.Add(Left:=0, Top:=0, _
Width:=objShape.Width, Height:=objShape.Height)
With objChartObject
Call .Chart.Paste
Call .Chart.Export(Filename:=FILE_PATH, FilterName:="JPG")
Set Image1.Picture = LoadPicture(FILE_PATH, PictureSizeMode = fmPictureSizeModeZoom)
Me.Repaint
Call Kill(PathName:=FILE_PATH)
End With
Else
Call MsgBox("Kein Bild in der Zwischenablage.", vbExclamation, "Hinweis")
End If
End With
Application.DisplayAlerts = False
objWorksheet.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Set objWorksheet = Nothing
Set objShape = Nothing
Set objChartObject = Nothing
End Sub
Leider bleibt das Bild in der Userform immer komplett weiß, als ob der Code nur den Shape speichern würde und nicht den Inhalt davon. Ich komme aber nicht dahinter, warum er das macht. Ich möchte nur den Inhalt der Zwischenablage in ein Image Control laden, da ich sonst die Datei nochmal zwischenspeichern müsste. Obwohl der Code kurz ist, finde ich aber nicht die Stelle, wo ich einhaken könnte und fast alle anderen Lösungen zum Speichern aus der Zwischenablage arbeiten mit Deklarationen, die nicht funktionieren.
Vielen lieben Dank für euren Input,
Harry