Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Image
BildScreenshot zu Image Image-Seite mit Beispielarbeitsmappe aufrufen

Zwischenablage in Userform anzeigen und ...


Betrifft: Zwischenablage in Userform anzeigen und ... von: Thomas
Geschrieben am: 01.10.2019 14:55:45

Hallo

Ich möchte ein Bild aus der Zwischenablage in einer Userform anzeigen lassen und dieses in die Tabelle1 Zelle A1 schreiben.

Möchte dies über ein CommandButton realisieren.
Wie würde der Code dazu aussehen?

Danke für Eure Hilfe

  

Betrifft: AW: Zwischenablage in Userform anzeigen und ... von: Nepumuk
Geschrieben am: 01.10.2019 18:55:44

Hallo Thomas,

im Prinzip so:

Private Sub CommandButton1_Click()
    Const FILE_PATH As String = "H:\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)
                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

Was du da in Zelle A1 schreiben willst ist mir nicht klar.

Gruß
Nepumuk


  

Betrifft: AW: Zwischenablage in Userform anzeigen und ... von: Thomas
Geschrieben am: 01.10.2019 19:05:36

Ok.

Ich mache von einem Programm über das Snipping Tool ein Bild, kopiere es und möchte es über die Userform in das Tabellenblatt "Drucken" an einer bestimmten Stelle einfügen.
Das Bild soll mir aber auch in der Userform angezeigt werden.

Das einfügen an der Position habe ich hinbekommen, bekomme es nur nicht in der Userform angezeigt.
Dies mache ich so:

Private Sub CommandButton1_Click()
Worksheets("Drucken").Paste Destination:=Worksheets("Drucken").Cells(41, 2)
End Sub
Wie bekomme ich es aber in der Userform angezeigt?

Danke für Eure prima Hilfe


  

Betrifft: AW: Zwischenablage in Userform anzeigen und ... von: Nepumuk
Geschrieben am: 01.10.2019 19:46:35

Hallo Thomas,

so:

Private Sub CommandButton1_Click()
    Dim objShape As Shape, objChartObject As ChartObject
    Dim strPath As String
    Application.ScreenUpdating = False
    With Worksheets("Drucken")
        .Paste Destination:=.Cells(41, 2)
        If .Shapes.Count >= 1 Then
            strPath = Environ$("TMP") & "\Test.jpg"
            Set objShape = .Shapes(.Shapes.Count)
            Set objChartObject = .ChartObjects.Add(Left:=0, Top:=0, _
                Width:=objShape.Width, Height:=objShape.Height)
            With objChartObject
                Call .Chart.Paste
                Call .Chart.Export(Filename:=strPath, FilterName:="JPG")
                Set Image1.Picture = LoadPicture(strPath)
                Call Kill(PathName:=strPath)
                Call .Delete
            End With
        Else
            Call MsgBox("Kein Bild in der Zwischenablage.", vbExclamation, "Hinweis")
        End If
    End With
    Application.ScreenUpdating = True
    Set objShape = Nothing
    Set objChartObject = Nothing
End Sub

Gruß
Nepumuk


  

Betrifft: AW: Zwischenablage in Userform anzeigen und ... von: ChrisL
Geschrieben am: 01.10.2019 18:55:55

Hi Thomas

Nur ein paar Inputs. Bitte Frage bei Bedarf wieder als offen markieren.

Ich glaube das Bild muss zuerst als Datei auf die Festplatte. Dazu google mal z.B.
vba save image from clipboard to file
Vielleicht findest du einen passenden Code.

Die Bilddatei in ein Image-Control oder Tabelle zu laden, dürfte dann keine grosse Sache mehr sein.

Wobei man sich natürlich fragen muss, warum die Bildatei überhaupt ins Clipboard/Zwischenablage kommt, wenn man eigentlich die Bilddatei bräuchte. ;)

cu
Chris


  

Betrifft: AW: Zwischenablage in Userform anzeigen und ... von: ChrisL
Geschrieben am: 01.10.2019 19:01:51

DELETE Beitrag, siehe Nepumuk

Habe vergessen, dass es Paste gibt :)


Beiträge aus dem Excel-Forum zum Thema "Zwischenablage in Userform anzeigen und ..."