Opgelost Database maken

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.
@OctaFish
Maar wat er dan fout gaat is mij een raadsel, bij jou werkt het wel?
Wellicht msoFalse en msoTrue vervangen door 0 en -1?
 
Bij mij werkt het ook prima. Code die ik zelf ook regelmatig gebruik, dus daar zit niks vreemds in. Late Binding, dus dat kan het probleem ook niet zijn.
 
Hij doet het bij enkele foto's maar niet allemaal kan het zijn dat het bestand niet te groot mag zijn
 
Ik heb het getest met foto's van 10 kB tot 12 MB en geen problemen ondervonden. De foto's worden overigens verkleind opgeslagen, dus de oorspronkelijke grootte is niet van belang. Ben wel benieuwd naar een foto waarbij het fout gaat, kun je hier eens zo'n foto plaatsen?
 
Wat bedoel je precies? De code leest een foto in. Dat kan elke foto zijn, ook grote. Ik heb een jpg van 21Mb ingelezen zonder probleem.
 
De foto's worden overigens verkleind opgeslagen, dus de oorspronkelijke grootte is niet van belang.
Hou dat goed in het achterhoofd, want je kunt het foto bestand dus niet gebruiken als alternatief fotoarchief :).
 
Met een kleine toevoeging aan de code kun je de ingelezen foto overigens gebruiken als hyperlink naar de originele foto. Kijk eens of dat werkt?
Code:
Sub Zoek_Foto()
Dim sShape As Shape
    With Application.FileDialog(1)
        .Title = "Selecteer foto"
        .Filters.Add "Foto", "*.jpg", 1
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count < 1 Then
            MsgBox "Geen foto geselecteerd.", vbExclamation
        Else
            Set sShape = ActiveSheet.Shapes.AddPicture(.SelectedItems(1), _
                msoFalse, msoTrue, Columns(6).Left + 5, ActiveCell.Top, -1, -1)
            With sShape
                .LockAspectRatio = msoTrue
                .Width = Columns(6).Width - 5
            End With
            ActiveSheet.Hyperlinks.Add Anchor:=sShape, Address:=.SelectedItems(1)
            ActiveCell.EntireRow.RowHeight = sShape.Height
        End If
    End With
End Sub
 
Die hyperlink zat al in #10 maar TS had liever de foto direct zichtbaar.
En
Code:
.Width = Columns(6).Width - 5
maakt de afmeting van de foto afhankelijk van de door de gebruiker ingestelde breedte van kolom 6, lijkt mij niet wenselijk.
 
De aanpassing doet beide: foto inlezen én de (kleien) foto gebruiken als hyperlink. Ik dacht dat je code kon lezen :D.
En je laatste opmerking? In jouw code loopt de foto, als die breed is, over de knop heen als je een foto wilt vervangen. Vind ik dus op míjn beurt weer niet wenselijk.
Bovendien is het een éénmalige handeling om een kolom op de gewenste breedte in te stellen, en dan foto's te importeren die 'automatisch' die breedte krijgen.
 
Deze foto kan ik niet zien en nog veel meer
 

Bijlagen

  • 20220722_114918.jpg
    20220722_114918.jpg
    797,3 KB · Weergaven: 7
Ik denk dat ik snap wat er aan de hand is: met mijn code althans, die uitgaat van de breedte, wordt de rij te hoog. Is met een kleine aanpassing opgelost.

Code:
Sub Zoek_Foto()
Dim sShape As Shape
    With Application.FileDialog(1)
        .Title = "Selecteer foto"
        .Filters.Add "Foto", "*.jpg", 1
        .AllowMultiSelect = False
        .Show
        If .SelectedItems.Count < 1 Then
            MsgBox "Geen foto geselecteerd.", vbExclamation
        Else
            Set sShape = ActiveSheet.Shapes.AddPicture(.SelectedItems(1), _
                msoFalse, msoTrue, Columns(6).Left + 5, ActiveCell.Top, -1, -1)
            With sShape
                .LockAspectRatio = msoTrue
                .Width = Columns(6).Width - 5
                If .Height > 400 Then .Height = 250
            End With
            ActiveSheet.Hyperlinks.Add Anchor:=sShape, Address:=.SelectedItems(1)
            ActiveCell.EntireRow.RowHeight = sShape.Height
        End If
    End With
End Sub

Kan zijn dat er iets vergelijkbaars aan de hand is met de versie van ah. Al stelt die juist de hoogte in en kijkt hij niet naar de breedte.
 
Ja ik zie het bij lukt deze foto net als heleboel andere en sommige doen het wel ik weet niet hoe dat kan
 
Kijk vooral naar de dimensies van die foto’s. Wellicht heeft de grootte er mee te maken. Overigens stuurde je een foto mee die niet werkte. En die doet het nu wél?

Probeer anders mijn versie eens; niet dat die veel anders is, maar je weet maar nooit. Bovendien zit daar de hyperlink functie in die je kunt gebruiken om het ingelezen plaatje te openen.
 

Bijlagen

Laatst bewerkt:
De foto die je stuurde is 1800x4000 pixels, geen native formaat mijns inziens. Ik neem aan dat dat dus een bewerkte foto is. Probeer eens onbewerkte foto's te importeren.
 
Toch is die foto prima in te lezen.
 
Jawel, maar wil toch proberen achter de oorzaak te komen. Zou nu dan toch wel eens een foto willen hebben waarmee het niet lukt.
 
Hierbij 3 foto's die het bij mij niet lukt als ik ze koppel dat ik ze zie
 

Bijlagen

  • 20220927_154933.jpg
    20220927_154933.jpg
    429,5 KB · Weergaven: 7
  • 20220928_213329.jpg
    20220928_213329.jpg
    529,5 KB · Weergaven: 7
  • 20220929_163856.jpg
    20220929_163856.jpg
    961,5 KB · Weergaven: 7
Geen enkel probleem in mijn versie. Heb je die überhaupt al een keer geprobeerd? En heb je de foto's wel met de originele grootte meegestuurd?
 

Bijlagen

Worden alle drie zonder probleem verwerkt bij mij.
Met welke versie van Excel werk je?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan