Pagina 1 di 1

RISOLTO - Pulsanti per inserimento dati in campi formulario

Inviato: lunedì 20 febbraio 2012, 17:53
da robce64
Apro questo nuovo argomento in quanto in quello aperto precedentemente non avevo descritto in modo completo il problema che devo affrontare e che il bravissimo Vladko aveva sapientemente risolto.
Il problema è come fare per avere in un formulario una serie di pulsanti collegati a macro con dei valori di testo prestabiliti, in cui alla pressione di un tasto viene inserito il valore corrispondente nel campo di testo dove c'è il cursore del mouse. Chiaramente questa operazione deve essere possibile farla su diversi campi testo presenti nel formulario.
Allego un file di esempio.

Grazie!

Sul forum americano sono riuscito a trovare la macro giusta per il mio caso, chiaramente nel codice c'è da fare la sostituzione del testo da inserire con quello desiderato.
Allego per tutti il codice macro.

Codice: Seleziona tutto

Global nCursor As Long
Global sTextBox As String
Global oText As Object

Sub SingleLine_TextBox_StoreCursor (oEvent As Object) 'Text Box > Events > When Losing Focus 
   sTextBox = oEvent.Source.Model.Name
   oText = oEvent.Source.AccessibleContext
   nCursor = oText.CaretPosition
End Sub 

Sub SingleLine_TextBox_Insert_Text1 (oEvent As Object) 'Button > Events > Execute 
   oText.insertText(("Hello World"),nCursor)
   oForm = oEvent.Source.Model.Parent
   oForm.GetByName(sTextBox).commit()
   IF oForm.isnew THEN oForm.insertRow() ELSE oForm.updateRow()
End Sub 

Sub SingleLine_TextBox_Insert_Text2 (oEvent As Object) 'Button > Events > Execute 
   oText.insertText(("Goodbye"),nCursor)
   oForm = oEvent.Source.Model.Parent
   oForm.GetByName(sTextBox).commit()
   IF oForm.isnew THEN oForm.insertRow() ELSE oForm.updateRow()
End Sub 

Re: Pulsanti per inserimento dati in campi formulario

Inviato: mercoledì 22 febbraio 2012, 13:02
da vladko
comincia a guardare nelle faq di OpenOffice (trovi il link in tutorial) e cerca focus

Re: RISOLTO - Pulsanti per inserimento dati in campi formula

Inviato: mercoledì 22 febbraio 2012, 21:17
da robce64
Ho trovato la soluzione sul forum americano. Nel primo mio messaggio ho messo il codice macro se dovesse servire a qualche altro!
:bravo:

Re: RISOLTO - Pulsanti per inserimento dati in campi formula

Inviato: giovedì 23 febbraio 2012, 9:11
da bydindi
Ciao robce64

Potresti mettere la macro nel file che hai allegato?

Re: RISOLTO - Pulsanti per inserimento dati in campi formula

Inviato: giovedì 23 febbraio 2012, 15:18
da robce64
Nel file di esempio che allego ho messo le macro a tutti i pulsanti.
Ricordarsi che ad ogni casella di testo dove si vuol far apparire il testo tramite pulsante, deve essere associata all'evento "alla perdita del punto focale" la macro "SingleLine_TextBox_StoreCursor".
Al pulsante, deve essere associata all'evento "eseguire l'azione" la macro che scrive il testo.

Re: RISOLTO - Pulsanti per inserimento dati in campi formula

Inviato: giovedì 23 febbraio 2012, 19:09
da turi
Ciao, e se volessi che il testo della macro venga inserito in una griglia collegata tramite relazioni ad un'altra tabella?

Re: RISOLTO - Pulsanti per inserimento dati in campi formula

Inviato: venerdì 24 febbraio 2012, 9:37
da robce64
Questo non te lo so dire, prova a chiedere oltre che su questo forum anche su quello estero come ho fatto io ... li mi hanno risolto il problema nel giro di 3 ore.
http://user.services.openoffice.org/en/ ... m.php?f=13

:super:

Re: RISOLTO - Pulsanti per inserimento dati in campi formula

Inviato: lunedì 27 febbraio 2012, 14:14
da turi
negato in inglese XD