Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Calendar Control for All Office versions - including Office 2010 64 bit

295 views
Skip to first unread message

r

unread,
Dec 21, 2011, 1:39:15 PM12/21/11
to
Abbiamo finito!
Ecco l'articolo:
https://sites.google.com/site/e90e50/calendar-control-class

io Krisztina e Gábor siamo molto contenti di questo lavoro
... abbiamo lavorato per più di 20 giorni (meglio 20 notti ... con
oltre 50 versioni successive di sviluppo).
L'articolo è in inglese, lo tradurrò al più presto ... intanto vorrei
sapere le vostre opinioni, suggerimenti, critiche (ma andateci
piano :-) ...
e se avete domande ... sono qui per rispondere.
Saluti
r

Mauro Gamberini

unread,
Dec 21, 2011, 3:34:46 PM12/21/11
to
"r" ha scritto nel messaggio
news:cb2182a2-2b30-4530...@q9g2000yqe.googlegroups.com...

Abbiamo finito!
Ecco l'articolo:
https://sites.google.com/site/e90e50/calendar-control-class

io Krisztina e Gábor siamo molto contenti di questo lavoro
... abbiamo lavorato per piů di 20 giorni (meglio 20 notti ... con
oltre 50 versioni successive di sviluppo).
L'articolo č in inglese, lo tradurrň al piů presto ... intanto vorrei
sapere le vostre opinioni, suggerimenti, critiche (ma andateci
piano :-) ...
e se avete domande ... sono qui per rispondere.
Saluti
r
****************************

Complimenti, sembra molto buono.
Appeno ho tempo lo testo.
Grazie.

--
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
http://www.maurogsc.eu/

eliano

unread,
Dec 21, 2011, 3:51:28 PM12/21/11
to
Ciao Roby.
Mi sono letto tutto il papiro e la prima impressione e' che
l'esposizione sia buona.
Poi ho fatto mente locale e considerato che si tratta di Office 2010
64 Bit,,,,,,,,
non posso che congratularmi con te, Krisztina & Gabor per l'opera
compiuta.
Con un saluto cordiale ed un augurio di Buone Feste a tutti voi,
Eliano

plinius

unread,
Dec 21, 2011, 4:15:56 PM12/21/11
to

"r" <robb...@gmail.com> ha scritto nel messaggio
news:cb2182a2-2b30-4530...@q9g2000yqe.googlegroups.com...
Abbiamo finito!
Ecco l'articolo:
https://sites.google.com/site/e90e50/calendar-control-class

io Krisztina e Gábor siamo molto contenti di questo lavoro
... abbiamo lavorato per piů di 20 giorni (meglio 20 notti ... con
oltre 50 versioni successive di sviluppo).
L'articolo č in inglese, lo tradurrň al piů presto ... intanto vorrei
sapere le vostre opinioni, suggerimenti, critiche (ma andateci
piano :-) ...
e se avete domande ... sono qui per rispondere.
Saluti
r

****************

Bel lavoro! Per l'articolo, perň, aspetto i sottotitoli :-))

Buone feste,
Enrico :-)


r

unread,
Dec 21, 2011, 6:09:48 PM12/21/11
to
On 21 Dic, 19:39, r <robb....@gmail.com> wrote:
Intanto grazie Mauro, Eliano e Plinius ...
Aggiungo alcune cose (in attesa dell'articolo in italiano) per i meno
esperti ...
la classe che abbiamo sviluppato non è dedicata a office 2010 64 bit,
può essere ovviamente utilizzata in ogni versione essendo legata solo
alla libreria MSForms.

Per provare su un nuovo progetto è sufficiente importare la classe nel
progetto, oppure usare uno dei file scaricabili trascinando il modulo
di classe nel nuovo progetto.
E' quindi utilizzabile da tutti ... ha il vantaggio (grande) che
essendo nel progetto non richiederà nessuna altra aggiunta per
funzionare in qualsiasi pc.
E' stata fatta replicando il controllo calendar ... i comportamenti
(li abbiamo studiati a uno a uno), le proprietà e i metodi ... gli
eventi afterupdate e beforeupdate (che nel calendar control non
funzionano!), click e dblclick ... lo scopo era anche quello di
offrire uno strumento per eseguire facilmente il porting ... in
pratica basta aggiungere una dichiarazione(avendo cura di definire la
classe con lo stesso nome del Calendar che si vuole rimpiazzare),
aggiungere un Frame dimensionato e posizionato dove era il
calendar... e due righe di codice ... sostituire gli eventuali
Me.Calendar1.etc ... o UserFoprm1.Calendar1.etc ... con
Calendar1.etc ... e il gioco è fatto ... volendo c'è anche una routine
già pronta che legge le proprietà del vostro calendar e le cattura
preparando le istruzioni per replicarne fedelmente l'aspetto ...

beh ... credo che per gli amanti (come me ) di quel controllo sia uno
strumento veramente utile!

Grazie ancora a tutti e rimango a disposizione per eventuali
chiarimenti ...
ciao
r

nunzio

unread,
Dec 22, 2011, 3:31:56 AM12/22/11
to
Ciao r.
Finalmente qualcuno si pone il problema e dedica un "pò" del proprio
tempo
alla comunità, fornendo anche il codice.
Non sono un programmatore e quindi molte cose non riesco
a capirle fino in fondo.
Sicuramente è un buon ed utile progetto.
Tanti, tanti complimenti.
Mi sembra di capire che per caricare il calendario occorre:

Creare una selezione di data del foglio di lavoro Excel!
1. Aprire editor di macro VBA
2. Inserire un UserForm nel progetto Excel (chiamiamolo UserForm1)
3. Creare un fotogramma su UserForm1, con nome Frame1
4. Copiare il codice nella finestra del codice di UserForm1

Penso che il progetto sia/sarà rivolto a tutti, anche ai non esperti e
quindi mi chiedo ma, non sarebbe il caso di, se è possibile,
semplificare
eseguendo con il Vb quando richiesto ai punti 1,2,3,4.
Non sarebbe il caso di eliminare la barra del Form ( quella con la
X.).
Se ho capito male, mi scuso, e ritiro tutto.
Spero che altri, come r diano il proprio contributo per migliorere,
semplificare,
se occorre, le procedure per il bene comune.
Buon Natale a tutti.(mi scusate se non aggiungo dei versi)
Ciao.
Nunzio.




r

unread,
Dec 22, 2011, 4:50:24 AM12/22/11
to
provo a spiegare meglio ... intanto la classe sviluppata per adesso:
1) consente di ottenere un controllo uguale al calendar control
all'interno di una Userform.
2) sostituire un controllo calendar preesistente all'interno di una
userform.

il controllo calendar è un controllo acivex che volendo può essere
usato anche all'interno per es. di un foglio di lavoro excel o di
altri oggetti ... per adesso la nostra classe non è ancora adatta a
questo scopo ... occorrerà fare alcune modifiche e ci stiamo lavorando
(anche per offrire uno strumento stabile) ... stesso discorso per
l'utilizzo nelle Form di Access ... alcune piccole modifiche sono
necessarie e stiamo testando.

se questo è chiaro ... per usarla in una userform (quindi usarla come
un qualsiasi altro controllo, ovvero per raccogliere l'input
dell'utente e utilizzarlo/elaborarlo) è molto semplice ... le cose da
fare sono:
1) importare il modulo di classe nel progetto
2) aggiungere la dichiarazione in testa al modulo della userform ad
es.

Private WithEvents Calendar1 As cCalendar

3) aggiungere un frame nella userform (il frame) dimensionandolo e
posizionandolo dove e come si desidera all'interno della userform

4) Settare l'oggetto nell'evento di inizializzazione della form e
crearlo con il metodo Add_Calendar_into_Frame

Private Sub UserForm_Initialize()

Set Calendar1 = New cCalendar

Calendar1.Add_Calendar_into_Frame Me.Frame1

End Sub

adesso potrai usare nel codice proprietà eventi e metodi come facevi
quando usavi il controllo calendar (senza usare Me. o Userform.)

Sono operazioni che richiedono nel complesso 1 minuto a esagerare ...
Tra i vantaggi sono la facile personalizzazione del calendario (oltre
alle proprietà già note del calendar ne abbiamo aggiunte altre per
renderlo ancora più bello e altre ancora verranno aggiunte), la
possibilità di personalizzazione del codice (per chi ne è capace),
l'uso universale che se ne può fare (si può usare in tutte le
versioni), la facilità d'uso, la facilità con cui puoi eventualmente
distribuire il tuo progetto.
La classe è uno strumento per il *programmatore* questo deve essere
chiaro ... e per adesso si limita all'uso all'interno di una UserForm.
Dico al *programmatore* intendendo chi crea userform per i suoi
progetti e ha una certa dimistichezzanel farlo.

Probabilmente l'uso che tu fai del calendar è diverso ... se vuoi
usare il calendar nel foglio di lavoro puoi seguire i link che trovi
in fondo all'articolo in alcuni trovi soluzioni molto buone che si
riferiscono a questo uso ... oppure aspettare quando proporremo una
classe dedicata a questo uso ...

spero d'aver chiarito
saluti
r

nunzio

unread,
Dec 22, 2011, 5:02:46 AM12/22/11
to
> r- Nascondi testo citato
>
> - Mostra testo citato -

Ciao r.
Grazie per il chiarimento.
Come al solito quando si parla di codice e di inglese capisco sempre
poco.
Credo che aspetterò la tua prossima proposta(uso del calendario nel
foglio).
Ancora complimenti e auguroni.
Ciao.
Nunzio.

r

unread,
Dec 22, 2011, 6:44:31 AM12/22/11
to
beh ho visto adesso il tuo lavoro, il problema era che al link veniva
aggiunto quello di google ...
non fai un uso del calendario come controllo activix nel foglio ma
semplicemente al lancio della form ... quindi la classe si adatta
ottimamente all'uso.
nel mio articolo aggiamo aggiunto un esempio (file Siple1) in cui
viene creata la userform con calendario per aggiungere una data alla
cella attiva ... sono credo 15 righe di codice ... se hai usato in
passato il controllo calendar puoi facilemente usare la classe ... si
usa in modo quasi identico ... richiamando le proprietà e usando i
suoi eventi ... per personalizzare il calendario puoi usare l'altro
file in cui una carrellata di bottoni permettono di selezionare le
prorietà e provare i metodi ... è il file che abbiamo usato per
testare la classe e affinare i comportamenti a che replicassero quelli
del controllo.
ciao
r

plinius

unread,
Dec 22, 2011, 8:49:22 AM12/22/11
to

"r" <robb...@gmail.com> ha scritto nel messaggio
news:cb2182a2-2b30-4530...@q9g2000yqe.googlegroups.com...
Abbiamo finito!
Ecco l'articolo:
https://sites.google.com/site/e90e50/calendar-control-class

io Krisztina e Gábor siamo molto contenti di questo lavoro
... abbiamo lavorato per piů di 20 giorni (meglio 20 notti ... con
oltre 50 versioni successive di sviluppo).
L'articolo č in inglese, lo tradurrň al piů presto ... intanto vorrei
sapere le vostre opinioni, suggerimenti, critiche (ma andateci
piano :-) ...
e se avete domande ... sono qui per rispondere.
Saluti
r

*******************************

Cliccando il pulsante "ActiveCell Calendar Show" nel file Samle1.xlsm,
convertito e aperto nel mio excel 2000, ottengo l'errore "Utilizzo non
valido di property" e viene evidenziata la riga ".ShowDateSelectors".

Questa č la sub:
----------------------
Private Sub UserForm_Initialize()
Set Calendar1 = New cCalendar
With Calendar1
.Add_Calendar_into_Frame Me.Frame1
.UseDefaultBackColors = True
.DayLength = 3
.MonthLength = mlENShort
.ShowDateSelectors
.ShowDays
.ShowTitle
End With
End Sub
----------------------

Modificandola cosě, funziona:
----------------------
Private Sub UserForm_Initialize()
Set Calendar1 = New cCalendar
With Calendar1
.Add_Calendar_into_Frame Me.Frame1
.UseDefaultBackColors = True
.DayLength = 3
.MonthLength = mlENShort
.ShowDateSelectors = True
.ShowDays = True
.ShowTitle = True
End With
End Sub
----------------------

Problema di conversione o svista?
Ciao,
E.


r

unread,
Dec 22, 2011, 9:49:54 AM12/22/11
to
On 22 Dic, 14:49, "plinius" <punto.linea...@LEVARElibero.it> wrote:
> "r" <robb....@gmail.com> ha scritto nel messaggionews:cb2182a2-2b30-4530...@q9g2000yqe.googlegroups.com...
> Abbiamo finito!
> Ecco l'articolo:https://sites.google.com/site/e90e50/calendar-control-class
>
> io Krisztina e Gábor siamo molto contenti di questo lavoro
> ... abbiamo lavorato per più di 20 giorni (meglio 20 notti ... con
> oltre 50 versioni successive di sviluppo).
> L'articolo è in inglese, lo tradurrò al più presto ... intanto vorrei
> sapere le vostre opinioni, suggerimenti, critiche (ma andateci
> piano :-) ...
> e se avete domande ... sono qui per rispondere.
> Saluti
> r
>
> *******************************
>
> Cliccando il pulsante "ActiveCell Calendar Show" nel file Samle1.xlsm,
> convertito e aperto nel mio excel 2000, ottengo l'errore "Utilizzo non
> valido di property" e viene evidenziata la riga ".ShowDateSelectors".
>
> Questa è la sub:
> ----------------------
> Private Sub UserForm_Initialize()
> Set Calendar1 = New cCalendar
> With Calendar1
>     .Add_Calendar_into_Frame Me.Frame1
>     .UseDefaultBackColors = True
>     .DayLength = 3
>     .MonthLength = mlENShort
>     .ShowDateSelectors
>     .ShowDays
>     .ShowTitle
> End With
> End Sub
> ----------------------
>
> Modificandola così, funziona:
> ----------------------
> Private Sub UserForm_Initialize()
> Set Calendar1 = New cCalendar
> With Calendar1
>     .Add_Calendar_into_Frame Me.Frame1
>     .UseDefaultBackColors = True
>     .DayLength = 3
>     .MonthLength = mlENShort
>     .ShowDateSelectors = True
>     .ShowDays = True
>     .ShowTitle = True
> End With
> End Sub
> ----------------------
>
> Problema di conversione o svista?
> Ciao,
> E.

assolutamente una svista :-)
il tuo uso è corretto.
Vado a correggere il file Grazie!
ciao
r
0 new messages