Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1940to1944
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabellenblatt als Bild in UF anzeigen geht nicht

Tabellenblatt als Bild in UF anzeigen geht nicht
19.08.2023 15:10:07
Sigi
Hallo,

nachdem ich Excel 64Bit installiert habe, funktioniert anzeigen im Frame nicht mehr.
Fehlermeldung olepro32.dll nicht gefunden.
Was muss ich machen?

Bei Ihnen läuft Excel 16.0
unter Windows (64-bit) NT 10.00
VBA7 64Bit
Win64 64Bit
Win64

Danke!
Gruß
Sigi

162381.xlsm

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Tabellenblatt als Bild in UF anzeigen geht nicht
19.08.2023 15:40:40
volti
Hallo Sigi,

Du solltest alternativ die DLL oleaut32.dll benutzen.
Außerdem könnten weitere Anpassungen auf 64 Bit sowohl bei den Declares als auch im Code erforderlich werden.
Da ich Deine Mapepe nicht öffnen kann, weil nicht hochgeladen, hier mal ein Beispiel von mir zur Veranschaulichung.

Option Explicit


Private Declare PtrSafe Function OleCreatePictureIndirect Lib "oleaut32.dll" ( _
ByRef PicDesc As PIC_DESC, ByRef RefIID As GUID, _
ByVal fPictureOwnsHandle As LongPtr, ByRef IPic As IPictureDisp) As Long
Private Declare PtrSafe Function CopyImage Lib "user32" ( _
ByVal handle As LongPtr, ByVal un1 As Long, ByVal n1 As Long, _
ByVal n2 As Long, ByVal un2 As Long) As LongPtr
Private Declare PtrSafe Function IsClipboardFormatAvailable Lib "user32" ( _
ByVal wFormat As Long) As Long
Private Declare PtrSafe Function GetClipboardData Lib "user32" ( _
ByVal wFormat As Long) As LongPtr
Private Declare PtrSafe Function OpenClipboard Lib "user32" ( _
ByVal hWnd As LongPtr) As Long
Private Declare PtrSafe Function CloseClipboard Lib "user32" () As Long

Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End Type

Private Type PIC_DESC
lSize As Long
lType As Long
hPic As LongPtr
hPal As LongPtr
End Type

Private Const PICTYPE_BITMAP = 1
Private Const CF_BITMAP = 2
Private Const IMAGE_BITMAP = 0
Private Const LR_COPYRETURNORG = &H4

Sub Paste_Picture_In_UF()
' Fügt ein Bild aus der Zwischenablage in ein Userform-Control ein
Dim oPict As IPictureDisp
Dim tPicInfo As PIC_DESC, tID_IDispatch As GUID

If IsClipboardFormatAvailable(CF_BITMAP) > 0 Then
If OpenClipboard(0&) > 0 Then

With tID_IDispatch
.Data1 = &H20400
.Data4(0) = &HC0
.Data4(7) = &H46
End With

With tPicInfo
.lSize = LenB(tPicInfo)
.lType = PICTYPE_BITMAP
.hPic = CopyImage(GetClipboardData(CF_BITMAP), _
IMAGE_BITMAP, 0, 0, LR_COPYRETURNORG)
CloseClipboard

If .hPic > 0 Then _
OleCreatePictureIndirect tPicInfo, tID_IDispatch, 0&, oPict

End With

If Not oPict Is Nothing Then
' ######### Hier die Userform und Image-Angaben anpassen ########
UserForm1.Image3.Picture = oPict
Else
MsgBox "Das Bild kann nicht angezeigt werden", vbCritical, "Bild einfügen"
End If

End If
End If

End Sub


Sub Test()
ThisWorkbook.Sheets("Tabelle1").Range("A20:B22").Copy
DoEvents ' Achtung, wichtig
Paste_Picture_In_UF
UserForm1.Show
End Sub


Viele Grüße
Karl-Heinz
Anzeige
Tabellenblatt als Bild in UF anzeigen geht nicht
19.08.2023 16:42:18
Sigi
Hallo Karl-Heinz,

funktioniert super!
Danke Dir!
Gruß
Sigi
Tabellenblatt als Bild in UF anzeigen geht nicht
19.08.2023 17:06:06
Volti
Gerne und vielen Dank für die Rückmeldung.
Gruß KH
Tabellenblatt als Bild in UF anzeigen geht nicht
20.08.2023 10:01:34
Herbert Grom
Hallo Karl-Heinz,

kannst du mir bitte sagen, wie ich diese Zeile ändern muss, um deinen Code für mich zu nutzen?

UFV.Image3.Picture


Er meckert mir die "UFV.Image3.Picture" an. Ich habe es schon mit "Image1" und einem in die UF eingefügten Bild probiert. Vielen Dank im Voraus.

Servus
Tabellenblatt als Bild in UF anzeigen geht nicht
20.08.2023 15:29:05
volti
Hallo Herbert,

da gehört dein Userformname und der entsprechende Imagename hin.
Mehr kann ich hier aus der Ferne jetzt erst mal nicht beitragen.

Und wie äußert sich das Meckern: Nicht vorhanden, nicht gefunden, falsches Format oder sonst was?

Gruß
KH
Anzeige
Tabellenblatt als Bild in UF anzeigen geht nicht
22.08.2023 08:54:27
Herbert Grom
Hallo Karl-Heinz,

sorry, dass ich mich erst jetzt melde, doch ich hatte "Enkel-Zeit" und da ist Excel hinten an.

So sieht die Fehlermeldung aus:

Userbild

Das Bild, das ich verwenden möchte, heißt "Grafik 2".

Servus
Tabellenblatt als Bild in UF anzeigen geht nicht
24.08.2023 14:20:30
volti
Hallo Herbert,

Du hast in Deiner Userform ein Image angelegt und das hat einen Namen: Image1 oder Image3 oder wie auch immer.....
Dieses gehört mit dem Userformnamen dort in den Code.
Wenn es das das Image mit diesem Namen nicht gibt, (weil es doch anders hieß o.ä.) gibt es einen Fehler. Dann anpassen.....

Wir testen schon, ob oPict leer ist, daher ist davon auszugehen, dass es daran nicht liegt.

Das Bild, das ich verwenden möchte, heißt "Grafik 2". Heißt das, dass Du keinen Bereich sondern ein Bild dort übertragen willst?

Dann müsstest Du z.B. mit arbeiten ......CopyPicture Appearance:=xlScreen, Format:=xlBitmap


Hier mal (m)eine Spielmappe zum Anschauen, vielleicht hilft es weiter.

https://www.herber.de/bbs/user/162462.xlsb

viele Grüße
Karl-Heinz

Anzeige
Tabellenblatt als Bild in UF anzeigen geht nicht
24.08.2023 15:39:29
Herbert Grom
Hallo Karl-Heinz,

viiielen Dank für deine Geduld, jetzt habe ich es geschnallt!

Servus

323 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige