Pagina 1 di 1

[Risolto] da casella di controllo a variabile di memoria

Inviato: domenica 9 gennaio 2011, 16:18
da r.vanoni
ciao a tutti. qualcuno sa come associare una casella di controllo in modo che se la seleziono mi carica un valore su una variabile di memoria all'interno di una macro?
In altre parole: esiste il modo di leggere il valore di riferimento (se on) di una casella di controllo?
Ho trovato questa istruzione:

Codice: Seleziona tutto

otipo = oEv.Source.getAccessibleContext.Text

Ma mi ha caricato in otipo la didascalia del pulsante che attiva la macro.

Re: da casella di controllo a variabile di memoria

Inviato: martedì 11 gennaio 2011, 23:54
da xergio

Codice: Seleziona tutto

otipo = oEv.Source.State

Re: da casella di controllo a variabile di memoria

Inviato: mercoledì 12 gennaio 2011, 18:39
da r.vanoni
grazie dell'indicazione ma non ci capisco nulla. Non riesco a capire come si legge il valore di un campo di controllo (es checkbox1) attraverso una macro. Dove posso studiare queste cose? Sto provando e riprovando ma chi la dura la vince (spero). Che sia meglio utilizzare le dialog box?

Re: da casella di controllo a variabile di memoria

Inviato: mercoledì 12 gennaio 2011, 21:31
da Akrobaticone
Se ti può essere utile potresti dare un occhio al database che ho inserito in questa discussione
http://user.services.openoffice.org/it/ ... ?f=4&t=391
si chiama Disegni e lì utilizzo il valore di alcune caselle di riepilogo per generare una query
il codice lo trovi nelle macro
diversi pezzi li ho copiati senza averli completamente compresi, ma funziona

i

Re: da casella di controllo a variabile di memoria

Inviato: venerdì 14 gennaio 2011, 8:40
da Akrobaticone
Scusa dimenticavo che per usare il DB devi registrarlo

Dal menu principale selezionare:

Strumenti-> Opzioni-> Sicurezza -> Sicurezza delle macro -> Livello di sicurezza
impostare: Medio

Strumenti ->Opzioni ->OpenOffice.org Base -Database -> Nuovo
Selezionare il percorso del file del database (Disegni.odb)

Il database è ora pronto per l'utilizzo

Re: [RISOLTO] da casella di controllo a variabile di memoria

Inviato: sabato 22 gennaio 2011, 16:13
da r.vanoni
Ottimo.
con la seguente macro associata all'evento Stato modificato, quando seleziono la check box si attiva la seguente macro:

Codice: Seleziona tutto

REM prova check box
Sub c_box(oEv)
Dim otipo as Integer
otipo = oEv.Source.State
if otipo = 1 then 
m_aziende  'lancia una macro che apre un formulario
end if
End sub

Se invece vogliamo una macro che va a verificare lo stato di una checkbox possiamo usare questa:

Codice: Seleziona tutto

REM macro  che controlla lo stato di una checkbox presente nella MainForm del formulario
REM la macro funziona se attivata da un pulsante presente sul formulario
Sub c_box_trova(oEv)
Dim otipo as Integer
oModel = oEv.Source.getModel
oForm = oModel.getParent
otipo = oForm.getByName("Cas1").State    'Cas1 è il nome della checkbox 
if otipo = 1 then               '1 è il valore assunto dalla checkbox selezionata
m_aziende     'attiva la macro m_aziende
end if
end sub
Grazie XSergio e Akrobaticone per i preziosi e utili suggerimenti. Ciao