• 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.

Besturingselement MSCAL.OCX onder verwijzing van VBA editor

Status
Niet open voor verdere reacties.

DutchOirs

Gebruiker
Lid geworden
30 sep 2009
Berichten
720
Goedemorgen,

Vervolg van: invoegtoepassingen in Excel 2019

https://www.helpmij.nl/forum/showthread.php/964559-invoegtoepassingen-in-Excel-2019

Wel na meerdere dagen actief bezig te zijn geweest komt hierbij de mogelijke oplossing voor het ontbreken van het agenda besturingselement MSCAL.OCX.
MS heeft deze verwijzing onder VBA niet meer meegenomen in de updating naar nieuwere versies.

Na lang zoeken op diverse sites, kwam een Franse site tegen (https://forum.excel-pratique.com/ap...utonome-sans-module-microsoft-72229/2#p581722) en deze was dus geschikt om met Kalender mogelijkheid op redelijke wijze met VBA te maken en aan te sturen.

Met dank aan de ontwerpers, ben ik aan de gang gegaan en heb wel eerst enige problemen moeten verhelpen om alles goed te laten verlopen.
- ook geeft deze Kalender de Feestdagen weer,
- ook kan men een info schermpje openen,
- waaronder men weer het overzicht van de Feestdagen kan zien.

Men moet zelf wel enig werk doen en de Kalender creëren in je programma.
Heb het gedaan in Excel, maar begrijp dat het ook in Word zou kunnen.

Hoe men dit kan doen zie hieronder:
Code:
- open in Excel je program [file] en open in Excel ook de Calendar

- open VBA-editor					[Alt-F11]
- maak in je program een UserForm aan	 	[invoegen > UserForm]
- pas je UserForm aan met: 
		- Height: 244,8
		- Width: 380,4
		- Name: Calendrier
		- Caption: Calendrier
- maak in je program een Module aan		[invoegen Module]
- Selecteer de Module
- Verander de naam v/d Module			[Beeld > Venstereigenschappen]
- maak in je program nog een Module aan		[invoegen > Module]
- maak in je program een Klassenmodule aan	[invoegen > Klassenmodule]

- Selecteer in prog.Calendar het UserForm (Calendrier) en selecteer alles
- Selecteer jouw program en selecteer UserForm (Calendrier) en plak alles
- Selecteer in prog.Calendar het UserForm (Calendrier) en selecteer alle code
- Selecteer jouw program en selecteer UserForm (Calendrier) en plak alle code

- Selecteer in prog.Calendar de Module (Calendar) en selecteer alles
- Selecteer jouw program en selecteer de Module (Calendar) en plak alles
- Selecteer in prog.Calendar de Module (Module1) en selecteer alles
- Selecteer jouw program en selecteer de Module (Module1) en plak alles
- Selecteer in prog.Calendar de Klassemodule (Klasse1) en selecteer alles
- Selecteer jouw program en selecteer de Klassemodule (Klasse1) en plak alles

- open Formulier Calendrier > Visual Basic Applications editor
- check onder UserForm Calendrier > Initialize > 8e regel, of  "Set CaseJ = New Klasse1" de naam v/d Klassemodule correct is!
- Vergeet niet om een adres op te geven waar "Laatst gekozen Datum opgeslagen wordt
- pas het Path aan onder:
	- Private Sub CmbValide_Click()
 	- Private Sub InfoBut_Click()    3 x 
- Onder de knop Doorgaan, vind men onder Sub CmValide de variabele ChoixDate
- Deze ChoixDate kan men gebruiken als variabele (Datum) in je program.

- in jouw program kan men de kalender aanroepen met "Calendrier_DutchOirsmen_Ver_v1.show"

Wel hoop dat er nog iemand is die dit zou kunnen gebruiken.

Vr. Gr.
Dutch

ps. Na installatie op andere PC met Win 11 en of dit gelukt is kom ik terug.
 

Bijlagen

  • Calendrier_DutchOirsmen_Ver_v1.xls
    110 KB · Weergaven: 33
Laatst bewerkt:
Ziet er best goed uit. Maar toch...:
Leuk dat de titelbalk kop van het formulier niet zichtbaar is, maar daardoor kan je het scherm niet verplaatsen. Ik denk niet dat de kleurcombinaties de toets van toegankelijkheid kunnen doorstaan voor wat betreft kleurenblindheid en minimaal contrast.
Deze implementatie werkt bovendien niet op MAC Excel dankzij de Windows API calls.
 
Ziet er best goed uit. Maar toch...:
Leuk dat de titelbalk kop van het formulier niet zichtbaar is, maar daardoor kan je het scherm niet verplaatsen. Ik denk niet dat de kleurcombinaties de toets van toegankelijkheid kunnen doorstaan voor wat betreft kleurenblindheid en minimaal contrast.
Deze implementatie werkt bovendien niet op MAC Excel dankzij de Windows API calls.

Ok, weet niet hoe het er op een ander pc eruit ziet.
Is gemaakt op win7 met office 2003.
Alles is aan te passen naar eigen keuzen (kleuren etc.).

Scherm is te verplaatsen hoor, maar had dit gedaan i.v.m. het uitvouwen voor de Feestdagen.
Onder activate de Top & Left weghalen.
 
Laatst bewerkt:
Goedemorgen,

Nog even een update over de uitleg:

Code:
- open in Excel je program [file] en open in Excel ook de Calendar

- open VBA-editor					[Alt-F11]
- maak in je program een UserForm aan	 	     [invoegen > UserForm]
- pas je UserForm aan met: 
		- Height: 244,8
		- Width: 380,4
		- Name: Calendrier
		- Caption: Calendrier
- maak in je program een Module aan	                [invoegen Module]
- Selecteer de Module
- Verander de naam v/d Module [COLOR="#FF0000"][B]in "Calendar"[/B][/COLOR]	        [Beeld > Venstereigenschappen]
- maak in je program nog een Module aan [COLOR="#FF0000"][B]"Module1"[/B][/COLOR]	[invoegen > Module]
- maak in je program een Klassenmodule aan [COLOR="#FF0000"][B]"Klasse1"[/B][/COLOR]	[invoegen > Klassenmodule]

- Selecteer in prog.Calendar het UserForm (Calendrier) en selecteer alles [COLOR="#FF0000"][B]en copy[/B][/COLOR]
- Selecteer jouw program en selecteer UserForm (Calendrier) en plak alles
- Selecteer in prog.Calendar het UserForm (Calendrier) en selecteer alle code
- Selecteer jouw program en selecteer UserForm (Calendrier) en plak alle code

- Selecteer in prog.Calendar de Module (Calendar) en selecteer alles
- Selecteer jouw program en selecteer de Module (Calendar) en plak alles
- Selecteer in prog.Calendar de Module (Module1) en selecteer alles
- Selecteer jouw program en selecteer de Module (Module1) en plak alles
- Selecteer in prog.Calendar de Klassemodule (Klasse1) en selecteer alles
- Selecteer jouw program en selecteer de Klassemodule (Klasse1) en plak alles

- open Formulier Calendrier > Visual Basic Applications editor
- check onder UserForm Calendrier > Initialize > 8e regel, of  "Set CaseJ = New Klasse1" de naam v/d Klassemodule correct is!
- Vergeet niet om een adres op te geven waar "Laatst gekozen Datum opgeslagen wordt
- pas het Path aan onder:
	- Private Sub CmbValide_Click()
 	- Private Sub InfoBut_Click()    3 x 
- Onder de knop Doorgaan, vind men onder Sub CmValide de variabele ChoixDate
- Deze ChoixDate kan men gebruiken als variabele (Datum) in je program.

Dutch
 
Laatst bewerkt:
Goedemorgen,

pff al weer 14 dagen voorbij.

Ben nog met het file bezig, komt namelijk een update aan.

Vr. GR.

Dutch
 
Goedemorgen,

Hierbij een update van de Calender.

Wordt Calendrier_DutchOirsmen_Ver_v2

De Update betreft het volgende:

- geeft dagen voor en na huidige maand in "grijs" weer

- geeft Feestdagen in "licht Rose" weer

- dagen voor en na huidige maand worden nu ook meegenomen voor de var. Datum


Wel zijn er nog problemen, laat het weten zou ik zeggen.

Vr. Gr.

Dutch
 

Bijlagen

  • Calendrier_DutchOirsmen_Ver_v2.xls
    195 KB · Weergaven: 11
Laatst bewerkt:
Bespaar je de moeite:
 

Bijlagen

  • __calendar_snb_UF_2022.xlsb
    39,3 KB · Weergaven: 16
Bespaar je de moeite:

Kan alleen lezen doen.

Maar open nu eens in een VBA omgeving met uitkomst (Datum) weer in een VBA omgeving, zonder excel zelf te gebruiken..


No answer
 
Laatst bewerkt:
VBA bestaat alleen maar in een Application-bestand.
 

Bijlagen

  • VBA_DatePicker.docm
    37,2 KB · Weergaven: 23
Hierbij nog een kleine update:

de eerste dag (die dubbel zijn) werkten nog niet goed en aangepast.

d.d. 1-7-2022
 

Bijlagen

  • Calendrier_DutchOirsmen_Ver_v3.xls
    192 KB · Weergaven: 2
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan