Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: PNG-afbeelding in Excel weergeven  (gelezen 2024 keer)

0 leden en 1 gast bekijken dit topic.

Offline Sunnybat

  • Volledig lid
  • **
  • Berichten: 224
  • Geslacht: Man
  • Oplossing.be
PNG-afbeelding in Excel weergeven
« Gepost op: 30 juli 2023, 16:45:37 »
Hoi,

Klein vraagje, om een JPG te laten zien gebruik ik dit en werkt perfect
Private Sub Image2_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As MSForms.fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)

End Sub

.Image2.Picture = Loadimage("D:\" & t_range(17) & ".jpg")
maar helaas werkt het niet met een PNG is daar een truc voor dat je ook een PNG kan laten zien?


Excel 365 NL

Offline Haije

  • Excel-Expert
  • Volledig lid
  • *****
  • Berichten: 215
  • Geslacht: Man
  • Oplossing.be
Re: PNG-afbeelding in Excel weergeven
« Reactie #1 Gepost op: 30 juli 2023, 22:53:14 »
jpg vervangen door png?
|-|aije

ik gebruik Office 2016 Professional Plus

Offline Sunnybat

  • Volledig lid
  • **
  • Berichten: 224
  • Geslacht: Man
  • Oplossing.be
Re: PNG-afbeelding in Excel weergeven
« Reactie #2 Gepost op: 31 juli 2023, 08:32:57 »
@Haije

 :blink: had het al geprobeert maar helaas
dan maar png converten naar jpg

Thnx
Excel 365 NL

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: PNG-afbeelding in Excel weergeven
« Reactie #3 Gepost op: 31 juli 2023, 11:19:05 »
Sunnybat,

In jouw plaats zou ik niet verder zoeken, want png-files worden inderdaad niet geaccepteerd. Er bestaan wel vba-methodes om dat te omzeilen, maar die zijn vele malen ingewikkelder dan je afbeeldingen te converteren, en zeker omdat er voldoende gratis programma's bestaan om dat voor massa's afbeeldingen in één keer te doen.

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline Sunnybat

  • Volledig lid
  • **
  • Berichten: 224
  • Geslacht: Man
  • Oplossing.be
Re: PNG-afbeelding in Excel weergeven
« Reactie #4 Gepost op: 31 juli 2023, 16:24:04 »
@MollyVH

Klopt het was me eigenlijk al gelukt maar niet zoals die vba code die ik van u heb gehad dat hij de jpg laat zien per kolom
tot nu tot is het alleen maar 1 png die ik zie
maarja rome is ook niet in 1 dag gebouwd dus we gaan verder snuffelen en ik heb geleerd google is youre best friend

Thnx

Excel 365 NL

Offline Pagadder

  • Volledig lid
  • **
  • Berichten: 183
Re: PNG-afbeelding in Excel weergeven
« Reactie #5 Gepost op: 31 juli 2023, 16:34:04 »
Een klein voorbeeld bestandje?Rome is rapper gebouwd dan verwacht.

Offline Sunnybat

  • Volledig lid
  • **
  • Berichten: 224
  • Geslacht: Man
  • Oplossing.be
Re: PNG-afbeelding in Excel weergeven
« Reactie #6 Gepost op: 31 juli 2023, 16:51:54 »
@Pagadder

Helaas geen voorbeeld :love: moet ik heel de userform slopen maar de vba code die ik gebruikt zegt al genoeg
Private Sub Image2_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As MSForms.fmDragState, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)

End Sub


.Image2.Picture = Loadimage("D:\" & t_range(17) & ".jpg")

Dus met andere jip en janneke taal laat de jpg zien die in D:'\ staat met de naam die voorkomt in Kolom Q en die staat op d:\
of een lokatie die je zelf geeft


Excel 365 NL

Offline JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: PNG-afbeelding in Excel weergeven
« Reactie #7 Gepost op: 31 juli 2023, 19:04:57 »
Deze library dien je aan te activeren:  Tools -> References ->  Microsoft Visual Basic for Application Extensibility Library 5.x
Ook moet je onder trust center opties van je Excel bestand de optie "Trus access to the VBA project object model" aanvinken.

Vervolgens deze twee macro's in een standaard module. Je Userform dien je op te roepen via de showUF macro.

De eerste macro heeft dus 3 parameters:
1: pad van de afbeelding
2: je uf control (image2)
3: Userform naam (Userform1 bvb)

Sub Image_png(xFile As String, ctrl As String, UF As Variant)
 Dim ufObject As MSForms.Control, VBC As VBComponent

 Set VBC = Application.VBE.ActiveVBProject.VBComponents(UF)

 If VBC.HasOpenDesigner Then
     Set ufObject = VBC.Designer.Controls(ctrl)
     If Not ufObject Is Nothing Then
         With CreateObject("WIA.ImageFile")
            .LoadFile xFile
             ufObject.Picture = .FileData.Picture
         End With
     End If
 End If
End Sub

Sub showUF()
Image_png "C:\Users\xxx\xxx\Afbeeldingen\xxxx.png", "Image2", "UserForm1"
UserForm1.Show
End Sub

Offline Sunnybat

  • Volledig lid
  • **
  • Berichten: 224
  • Geslacht: Man
  • Oplossing.be
Re: PNG-afbeelding in Excel weergeven
« Reactie #8 Gepost op: 01 augustus 2023, 05:59:41 »
@JEC

vandaag eens proberen

 _/-\o_ Super bedankt
Excel 365 NL

Offline JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: PNG-afbeelding in Excel weergeven
« Reactie #9 Gepost op: 01 augustus 2023, 08:20:35 »
Dit is misschien toch meer wat je bedoelt. Je pad kun je uiteraard dynamisch houden. Is nog simpeler ook

Private Sub Image2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  With CreateObject("WIA.ImageFile")
    .LoadFile "C:\Users\xxx\Downloads\xxxx.png"
     Image2.Picture = .FileData.Picture
  End With
End Sub

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: PNG-afbeelding in Excel weergeven
« Reactie #10 Gepost op: 01 augustus 2023, 10:49:21 »
@ JEC,

Dat is een mooie \o/ Die had ik niet meteen gevonden.

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: PNG-afbeelding in Excel weergeven
« Reactie #11 Gepost op: 01 augustus 2023, 14:38:25 »
Thanks :)

Offline Sunnybat

  • Volledig lid
  • **
  • Berichten: 224
  • Geslacht: Man
  • Oplossing.be
Re: PNG-afbeelding in Excel weergeven
« Reactie #12 Gepost op: 01 augustus 2023, 17:41:09 »
@JEC

Helaas werken de beide code niet

.LoadFile "C:\Users\xxx\Downloads\xxxx.png"
is een vaste waarde om de png te laden in een map

de code die ik nu gebruik en van Molly heb gehad maak het niet uit wat voor tekst in de kolom staat hij zoekt altijd de naam wat erin de cel staat

dus BV

.Image3.Picture = LoadPicture("D:\" & t_range(20) & ".jpg")
als je op ZOEK klik komt de userform als je dan daar zoekt op Test
vindt hij Test
dan laat hij de betreffende tekst zien die voorkomt van cel A6 tm T6

range 20 is kolom T  daar staar nu Test, nu zoekt hij op d:\ naar test.jpg

zoek je dan op Test1 dan zoek hij op d:\ naar test1.jpg

Maar alvast super bedankt

heb voor de zekerheid de userform gesloopt anders is die te groot



Excel 365 NL

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: PNG-afbeelding in Excel weergeven
« Reactie #13 Gepost op: 01 augustus 2023, 19:12:07 »
Sunnybat,

Je moet natuurlijk wel een klein beetje kijken wat je allemaal doet.
JEC heeft enkel een methode aangegeven om een png te kunnen laden vermits er toen nog geen bestand van jou te zien was.

Vervang in je code daarom
.foto.Picture = LoadPicture("D:\" & t_range(1) & ".jpg")
.Image2.Picture = LoadPicture("D:\" & t_range(18) & ".jpg")
.Image3.Picture = LoadPicture("D:\" & t_range(20) & ".jpg")
eens door
With CreateObject("WIA.ImageFile")
  .LoadFile "d:\" & t_range(1) & ".png"
  foto.Picture = .FileData.Picture
  .LoadFile "d:\" & t_range(18) & ".png"
  Image2.Picture = .FileData.Picture
  .LoadFile "d:\" & t_range(20) & ".png"
  Image3.Picture = .FileData.Picture
End With

Let wel: dan zal je nog enkel png's kunnen laden. Als je beide formaten wil kunnen laden zal er meer code nodig zijn.
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline Sunnybat

  • Volledig lid
  • **
  • Berichten: 224
  • Geslacht: Man
  • Oplossing.be
Re: PNG-afbeelding in Excel weergeven
« Reactie #14 Gepost op: 01 augustus 2023, 20:48:15 »
@MollyVH

 \o/ werkt per range perfect TNX

en ook @JEC super bedankt
Excel 365 NL

 


www.combell.com