• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Double Click op een Shape

Status
Niet open voor verdere reacties.

Piet Bom

Verenigingslid
Lid geworden
13 nov 2010
Berichten
786
Hallo Guru's,
Ik ben bezig om een invoer programma te maken voor een Network Plannings diagram (het wiel opnieuw uitvinden).
Vanuit het getekende diagram genereer ik 2 tabellen: Activiteiten en Relaties
So far so good.
Om een activiteit te wijzigen, selecteer ik nu een blokje en klik dan op button [Get Act Data]
Dan komt er een userform etc.
Is er een mogelijkheid om d.m.v. een Double Click op een blokje de userform aan te roepen ?
 

Bijlagen

  • NetworkDiagram_Input.xlsb
    56,8 KB · Weergaven: 37
Met een macro aan de vorm gekoppeld ben je met 1 klik klaar.

Blokje selekteren, rechtermuisknop, macro toewijzen.
 
Laatst bewerkt:
Hoi snb,
Het idee lijkt in eerste instantie goed.
Echter er bestaat een unieke link tussen ieder blokje en 1 regel in de Activiteiten tabel.
De naam van het blokje "Rectangle 72" (Dum1) komt overeen met regel 35 van de tabel.
Hoe kan ik de Shape.Name uitlezen van een blokje waar ik single op click ?
 
Dan lijkt het slim de namen van de blokjes zo te wijzigen dat dat dan meteen duidelijk is:

"Rectangle 72" kan dan beter "R_035" heten;
right(Application.caller,2) geeft dan meteen de gekoppelde regel weer.
 
Bedankt Eric en snb,
Jullie hebben mij op het goede spoor gezet.
Het werkt nu zoals ik wilde.
Ik kan weer verder met mijn project.
 

Bijlagen

  • NetworkDiagram_Input.xlsb
    56,3 KB · Weergaven: 60
@Piet,

Mooi projekt !

Ik heb nog wat 'suggesties' geïmplementeerd:

- de startmacro voor de 'shapes' in de macromodule van het werkblad van de 'shapes' gezet.

- de aparte macromodule verwijderd

- de naam/id van de vorm waarop geklikt wordt, wordt niet in het werkboek gezet(ter voorkoming van interaktie met het werkboek)

- de aanroepende macro (waarin 'application.caller') gereduceerd tot 2 regels

- de volgorde van de Userformmacro's logischer gemaakt: begin / aktiviteiten / afsluiten

- de relevante gegevens uit het werkblad in een array gelezen, zodat er verder geen interaktie met het werkblad nodig is.

- het vullen van de userformcontrols in Userform_activate gezet; Initialize wordt nl. aangeroepen door het toewijzen van application.caller aan VormID; daardoor slaat de opdracht .show het _initialize event over.

Bekijk het maar eens.
 

Bijlagen

  • __NetworkDiagram_Input_snb.xlsb
    50,4 KB · Weergaven: 38
Laatst bewerkt:
WOW @snb,
Dit noem ik nog eens: After Sales Service :)
Ik heb het verwerkt in mijn Project, en dat maakt het meteen een stuk overzichtelijker.
Heb weer een hoop efficient programmeren bijgeleerd.
ik gooi de topic nu op slot.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan