Opgelost Foto's eerst bewerken anders kan ik ze niet plaatsen

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.
En toch: alle foto's die ík inlees in beide versies, doen het prima. Ook wordt de foto in kolom 1 gezet, wat ook hard is geprogrammeerd, dus dat je dan in kolom R terecht komt, is zeer wonderlijk. Dat kan dan bijna al niet via de macro zijn gegaan. De plaatsing van de knop is nogal stevig gebaseerd op de 'happy flow'; bij elke cel die je aanklikt verschijnt de knop in beeld. Daarbij gaat de ontwerper er dus vanuit dat een gebruiker dat niet verkeerd doet.
Zelf zou ik dat toch beperken tot het klikken van een cel tot maximaal kolom I, want dat zijn de kolommen waar de foto informatie in terecht komt (A-H) of waar de knop komt (Kolom I). klikken in elke andere kolom zou wat mij betreft geen knop moeten laten zien.

Daarnaast kunnen we jouw foto's met hyperlink uiteraard niet openen, omdat ze op jouw c-schijf staan. Maar ik zie ze dus wel in je bestand. En de grootte is dus ook prima, ondanks de grootte van het oorspronkelijke bestand.

Maar je hebt je telefoon dus aan je computer gehangen met een kabel, en sleept de foto's dan naar een map?
 
In welke rij of kolom de gebruiker ook klikt, de knop verschijnt altijd in kolom I en daar is niets mis mee.
Dat de foto in kolom R of zelfs in kolom AM terecht komt is zeer eigenaardig.
Even recapituleren:
Je drukt op de knop "Foto toevoegen".
Er verschijnt een file-open dialoog met als titel "Selecteer foto"
Je zoekt de foto op, klikt op de foto en daarna op OK
of
je dubbelklikt op de foto
En daarna komt bij jou de foto niet in kolom A.

Als je de foto via de verkenner eerst ergens anders hebt neergezet (je hebt ze nu op je desktop vier niveau's diep staan) dan gaat het wel goed?
 
In welke rij of kolom de gebruiker ook klikt, de knop verschijnt altijd in kolom I en daar is niets mis mee.
Handig is het niet, als je ook in kolom AM aan het werken bent. Waarom zou je een knop laten zien als de cursor op een plek staat waar je verder niks te zoeken hebt met die functie? Ik schakel zo'n knop dan dus uit. Maar goed, iedereen werkt anders.

De foto's in het Excel bestand staan in C:\Users\Arie\Downloads. Dat is een systeem map van Windows. Dat mag natuurlijk geen enkel probleem zijn :).
 
Laatst bewerkt:
Het beeldscherm van Octafish is zo breed dat hij kolom I kan zien als hij in kolom AM aan het werk is. Zo'n beeldscherm wil ik ook!;)

@OctaFish
Misschien zou je je moeten beperken tot de probleemstelling in plaats van je gelijk te willen halen vind je niet?
 
Het beeldscherm van Octafish is zo breed dat hij kolom I kan zien als hij in kolom AM aan het werk is. Zo'n beeldscherm wil ik ook!;)
Klopt. Kost een paar centen, maar dan heb je ook wat :).
Wat de rest van je opmerking betreft: is wel degelijk onderdeel van de probleemstelling, gezien dat TS de knop verkeerd kan gebruiken. Al weet ik nog niet hoe dat gebeurt. Maar jij ook niet, zo te zien.
 
Ik denk dan ook dat TS de knop niet verkeerd gebruikt, hoe zou je een knop verkeerd kunnen gebruiken? Ik probeer te achterhalen waar het fout gaat en ik heb inderdaad nog geen idee maar ben wel erg gebrand op het vinden van een antwoord, help je mee?
P.S.
Jaloers, wat voor beeldscherm heb je?
 
Je kunt een knop (uiteraard) niet ‘verkeerd gebruiken’, maar wél als je hem op het scherm hebt staan, en je wilt nét in die cel wat zetten. Dan wil je niet per ongeluk op de knop drukken.

En ja, ook ik zoek naar de oplossing van het probleem. Zoals je ongetwijfeld gemerkt hebt. Maar het is lastig als je het probleem niet kunt reproduceren. Zo ondertussen ga je aan een meekijk sessie denken om te zien wat TS nu echt doet.

En dat beeldscherm? Dat zijn er twee: 27” LG 4K schermen. Dus ik wil Excel nog wel eens over twee schermen draaien, al is het voornamelijk voor mijn foto programma en Cubase. Daarnaast is twee schermen fantastisch om mee te werken.
 
Ik weet ook niet hoe komt dat de foto's op een andere plaats komen en foto's die ik via open met knip programa doe en weer op sla het wel op de juiste plaats komen
 
Als je een foto van je telefoon opslaat op je computer en vervolgens die foto via de verkenner in een andere map zet, gaat het importeren van de foto dan wel goed? Dus niet via het knip programma.

Wat je ook nog kunt proberen, de foto openen met Paint en weer opslaan, eventueel onder een andere naam. Gaat het dan wel goed?
 
Als ik de foto in een ander map zet dan zet hij de foto ergens ver weg op het excel blad, als ik de foto open in paint en opsla dan plaats hij de foto op de juiste plaats in excel sheet.
 
Laatst bewerkt:
Ja die doet het, hij zet alles in de eerste cel ook de niet bewerkte foto's, Prachtig
Alleen zijn ze te groot, ze gaan over de cel er onder heen , maar het is gelukt. Weet u waarom het nu wel lukt?
 
Laatst bewerkt:
De code is niet veranderd, zo te zien. Ik vermoed dat het komt omdat je de foto's nu correct in een map hebt gezet :). Maar ook ik laat mij graag verrassen door ah!
 
Ik vermoed dat je oude versies het nu ook doen. De code daarin is niet anders. Tenzij het probleem dus helemaal niet in de macro zit, maar ergens anders. Maar dat horen we dan nog wel van de guru.
 
Bijgaand de definitieve versie (hoop ik). Er is wel degelijk iets aan de code veranderd. Na het plaatsen van de foto via ActiveSheet.Shapes.AddPicture krijgt de foto opnieuw keihard coördinaten toegewezen en daar legt de foto zich nu gelukkig bij neer. Vraag mij niet waarom.
Omdat de foto iets groter werd dan de opgegeven maximale rijhoogte wordt nu een rijhoogte iets groter dan de hoogte van de foto ingesteld.
Op het werkblad Instellingen kun je nu opgeven welke hoogte en breedte de foto moet krijgen, Er wordt eerst gekeken naar de hoogte, daarna naar de breedte. Eenmaal geïmporteerde foto's worden daar niet door beïnvloed. Experimenteer er maar eens mee om de voor jou optimale hoogte te bepalen. Je kunt foto's altijd weer verwijderen en opnieuw plaatsen. Succes ermee.
 

Bijlagen

De code kan nog wel wat korter:
Code:
Sub Zoek_Foto()
Dim sShape As Shape
    If ActiveCell.Row = 1 Then
        MsgBox "Foto mag niet in rij 1 geplaatst worden.", vbCritical, "Waarschuwing"
        Exit Sub
    End If
    With Application.FileDialog(msoFileDialogFilePicker)
        .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(1).Left, ActiveCell.Top, -1, -1)
            With sShape
                .LockAspectRatio = msoTrue
                If .Height > [Maxhoogte] Then .Height = [Maxhoogte]
                If .Width > [Maxbreedte] Then .Width = [Maxbreedte]
                .Left = 0
                .Top = ActiveCell.Top
            End With
            ActiveSheet.Hyperlinks.Add Anchor:=sShape, Address:=.SelectedItems(1)
            ActiveCell.EntireRow.RowHeight = sShape.Height + 3
        End If
    End With
End Sub
 
Als je verder geen wensen meer hebt en tevreden bent met de oplossing mag je dit topic op opgelost zetten.
 
We zijn blij met de hulp en het resultaat.
Nog een vraagje als we de foto plaatsen en heb daarvoor de celhoogte op 170 gezet dan verkleint hij deze, is daar nog wat aan te doen?
 
Ik snap je vraag eigenlijk niet zo goed. Het is uiteraard de bedoeling dat de foto's verkleind worden, anders groeit je exceldocument binnen de kortste keren de pan uit.
De uiteindelijke grootte van de foto wordt alleen bepaald door de maximale hoogte en breedte die je op het werkblad instellingen hebt opgegeven. De celhoogte (lees: rijhoogte) wordt een heel klein beetje groter ingesteld dan de hoogte van de foto i.v.m. afrondingsverschillen. Het instellen van de rijhoogte op 170 heeft dus geen invloed op de grootte van de foto. Overigens is de maximale rijhoogte voor Excel 409, de maximale fotohoogte moet je dan niet groter maken dan 406.
Ik hoop dat ik het zo een beetje duidelijk heb gemaakt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan