foto in een excel cell plaatsen

Status
Niet open voor verdere reacties.

kees1955

Gebruiker
Lid geworden
30 jul 2017
Berichten
77
Van uit een datagrid plaats ik gegevens in een excel sheet en wil daar ook een foto in plaatsen meer krijg de foto er niet

For i = 0 To OrdersDataGrid.RowCount - 1
xlWorkSheet.Cells(i + 2, 1) = OrdersDataGrid(0, i).Value.ToString()
xlWorkSheet.Cells(i + 2, 2) = OrdersDataGrid(5, i).Value.ToString()
xlWorkSheet.Cells(i + 2, 3) = OrdersDataGrid(7, i).Value.ToString()
xlWorkSheet.Cells(i + 2, 4) = OrdersDataGrid(8, i).Value.ToString()
xlWorkSheet.Cells(i + 2, 5) = OrdersDataGrid(9, i).Value.ToString()
xlWorkSheet.Cells(i + 2, 6) = Hier een afbeelding plaatsen.....................................
next i

ik heb het geprobeerd met het volgende maar kan daar niet de cell aangeven waar ik hem in wil plaatsen

xlWorkSheet.Shapes.AddPicture(LOCATIE FOTO, _
Microsoft.Office.Core.MsoTriState.msoFalse, _
Microsoft.Office.Core.MsoTriState.msoCTrue, 50, 50, 300, 45)

is er iemand die mij hier mee kan helpen ?
 
Foto's staan nooit in een cel maar zijn image objecten op het werkblad.
Je kan van een cel wel de coördinaten (.Left en .Top) ophalen en die gebruiken om dat object op de gewenste plek te zetten.

Dit voorbeeld laat je een plaatje selecteren en plaatst deze op de plek van de actieve cel (ActiveCell):
Code:
Sub GetPicture()
    Dim pct As Shape
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .ButtonName = "Ok"
        .Title = "Selecteer een afbeelding"
        .Filters.Clear
        .Filters.Add "JPG", "*.JPG"
        .Filters.Add "JPEG File Interchange Format", "*.JPEG"
        .Filters.Add "Graphics Interchange Format", "*.GIF"
        .Filters.Add "Portable Network Graphics", "*.PNG"
        .Filters.Add "Tag Image File Format", "*.TIFF"
        .Filters.Add "Alle bestanden", "*.*"

        If .Show = -1 Then
            Set pct = ActiveSheet.Shapes.AddPicture([COLOR="#FF0000"].SelectedItems(1), False, True, ActiveCell.Left + 1.5, ActiveCell.Top + 1.5, -1, -1[/COLOR])
            With pct
                .Height = (ActiveCell.Height * 24) - 2
                .Locked = True
            End With
        End If
    End With
End Sub

Zelf even vertalen naar DotNet.
Gebruik er van wat je nodig hebt en let vooral op het rode gedeelte :)
 
Laatst bewerkt:
Hallo Edmoor

ik krijg een foutmelding bij ActiveSheet die herkent hij niet (is not declared)
moet ik hier iets voor importeren of declareren
 
En heb je het nu over direct Excel of over .Net?
Direct in Excel werkt hier prima.
In je .Net programma vervang je dat uiteraard door xlWorkSheet en zal het image object anders aangesproken moeten worden.

Wat ik al zei, zelf even naar .Net vertalen.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan