Springen naar inhoud


- - - - -
VS 2015

Foto Of Jpg In Excel

VS2015

  • Log in a.u.b. om te beantwoorden
Er zijn 3 reacties in dit onderwerp

#1 GuyMeyvaert

GuyMeyvaert

    Starting Developer

  • Leden
  • 6 berichten
    Laatst bezocht 04 apr 2019 12:22
  • LocatieTongeren

Geplaatst op 03 april 2019 - 20:35

Hoe voeg ik in vb.net een foto (jpg-bestand) in een excel-sheet op een juist bepaalde plaats, met een juist bepaalde breedte.
De foto dient eveneens verschaalt te worden dat deze past, afhankelijk van de breedte en hoogte.
Het gaat om het genereren van een rapport in een specifiek dossier waaruit vb.net de foto's van uit de directorystructuur van het dossier haalt.

#2 RedThread

RedThread

    Beheerder VBIB

  • Beheerder
  • 3598 berichten
    Laatst bezocht gisteren, 19:00
  • LocatieTongeren,Belgium.
Inzender

Geplaatst op 04 april 2019 - 11:36

Dag Guy,

Ik heb onderstaande code gevonden, wel niet kunnen verifiëren..
Probeer het uit zou ik zeggen, en laat iets weten of dit voor jou werkt.

mvg



Visual Basic Code:
Dim ws As Worksheet
Dim r As Range
Dim fileName As String
Dim pictureWidth As Integer
Dim pictureHeight As Integer
Dim shape As shape

Set ws = Worksheets(1)

Set r = ws.Cells(5, 2)

fileName = "d:\picture.png"

pictureWidth = 195
pictureHeight = 102

Set shape = ws.Shapes.AddPicture(fileName, msoTrue, msoTrue, r.Left, r.Top, pictureWidth * 3 / 4, pictureHeight * 3 / 4)

shape.LockAspectRatio = msoTrue
shape.ScaleHeight 2, msoTrue, msoScaleFromTopLeft




#3 GuyMeyvaert

GuyMeyvaert

    Starting Developer

  • Leden
  • 6 berichten
    Laatst bezocht 04 apr 2019 12:22
  • LocatieTongeren

Geplaatst op 04 april 2019 - 12:22

Beste,

bedankt voor de snelle info. Mits kleine aanpassingen is het gelukt om de foto in te voegen.

volgende code heb ik geschreven die werkt:

Visual Basic Code:
		Dim VluchtData = Excelapp.Workbooks.open(Zoekbestand)
		Dim VluchtVoorbereiding = VluchtData.sheets("Voorbereiding")

		Dim FotoBestand As String
		Dim pictureWidth As Integer
		Dim pictureHeight As Integer
		Dim shape As Microsoft.Office.Interop.Excel.Shape

		FotoBestand = Bestanden.Range("C33").text & Opdrachtencmb.Text & "\100_Vlucht\Luchtfoto.jpg"

		pictureWidth = 195
		pictureHeight = 102

		shape = VluchtVoorbereiding.Shapes.AddPicture(FotoBestand, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 50, 50, pictureWidth * 3 / 4, pictureHeight * 3 / 4)



Ik moet enkel nog uitvissen hoe ik de foto op de juiste plaats krijg en hoe ik moet spelen met de verhoudingen (zijn ook variabelen die ik moet verwerken in de code.

#4 RedThread

RedThread

    Beheerder VBIB

  • Beheerder
  • 3598 berichten
    Laatst bezocht gisteren, 19:00
  • LocatieTongeren,Belgium.
Inzender

Geplaatst op 04 april 2019 - 13:53

Fijn dat je hiermee aan de slag kon, hier wat meer uitleg over de Method ;

https://docs.microso...?view=excel-pia



Shapes.AddPicture(String, MsoTriState, MsoTriState, Single, Single, Single, Single) Method



Left Single
Required Single. The position (in points) of the upper-left corner of the picture relative to the upper-left corner of the document.
Top Single
Required Single. The position (in points) of the upper-left corner of the picture relative to the top of the document.





Ook met taq VS 2015, VS2015 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[VS 2015] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)