Assegnare Valore del Campo di una Finestra Dialogo a cella

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
alevinc
Messaggi: 4
Iscritto il: mercoledì 27 luglio 2011, 19:08

Assegnare Valore del Campo di una Finestra Dialogo a cella

Messaggio da alevinc »

Ciao a tutti,

ho creato una finestra di dialogo con quattro campi valuta e due pulsanti "OK" e "Annulla".
Dovrei assegnare i valori che vengono inseriti nei quattro campi valuta e dopo aver premuto "OK" alle prime 4 celle della prima riga vuota di una tabella presente in un foglio di openoffice Calc.
Potreste aiutarmi a scrivere la macro che apre la finestra di dialogo e dopo aver premuto "OK" esegue quanto detto sopra.

Grazie mille a tutti coloro che vorranno aiutarmi.

Saluti.

Alessandro
OpenOffice 3.3.0 su Windows Vista
erik75
Messaggi: 4
Iscritto il: sabato 8 ottobre 2011, 14:44

Re: Assegnare Valore del Campo di una Finestra Dialogo a cel

Messaggio da erik75 »

Modifica il codice seguente in base alle tue esigenze

Codice: Seleziona tutto

'creazione finestra di dialogo

DialogLibraries.LoadLibrary( "Standard" )
oDialog1 = CreateUnoDialog( DialogLibraries.Standard.PARZIALE )
oDialog1Model = oDialog1.Model
oValueBox = oDialog1Model.getByName("DATA")
oValueBox3 = oDialog1Model.getByName("LITRI")
oValueBox4 = oDialog1Model.getByName("E_LITRO")
oTextBox7 = oDialog1Model.getByName("TIPO")
oTextBox8 = oDialog1Model.getByName("NOTE")
Select Case oDialog1.execute
Case 1

'ricerca prima riga vuota nella scheda Rifornimenti

Dim Document as object
Dim row as integer
dim pos as double
document = ThisComponent.CurrentController.Frame
row=6
pos = ThisComponent.Sheets.getByName("Rifornimenti").getCellByPosition(0,row).getvalue()
While pos <> 0
pos = ThisComponent.Sheets.getByName("Rifornimenti").getCellByPosition(0,row).getvalue()
row = row +1
WEnd

dim dispatcher1 as object
document1   = ThisComponent.CurrentController.Frame
dispatcher1 = createUnoService("com.sun.star.frame.DispatchHelper")

dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$" & row

dispatcher1.executeDispatch(document1, ".uno:GoToCell", "", 0, args1())

sValue = CDateFromIso(oValueBox.date)
ThisComponent.CurrentSelection.Value = sValue


dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$B$" & row

dispatcher1.executeDispatch(document1, ".uno:GoToCell", "", 0, args2())

sValue1 = "-----"
ThisComponent.CurrentSelection.string = sValue1


dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$C$" & row

dispatcher1.executeDispatch(document1, ".uno:GoToCell", "", 0, args3())

sValue2 = "-----"
ThisComponent.CurrentSelection.string = sValue2

dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint"
args4(0).Value = "$D$" & row

dispatcher1.executeDispatch(document1, ".uno:GoToCell", "", 0, args4())

sValue3 = oValueBox3.value
ThisComponent.CurrentSelection.Value = sValue3

dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "ToPoint"
args5(0).Value = "$E$" & row

dispatcher1.executeDispatch(document1, ".uno:GoToCell", "", 0, args5())

sValue4 = oValueBox4.value
ThisComponent.CurrentSelection.Value = sValue4


dim args8(0) as new com.sun.star.beans.PropertyValue
args8(0).Name = "ToPoint"
args8(0).Value = "$k$" & row

dispatcher1.executeDispatch(document1, ".uno:GoToCell", "", 0, args8())

sText7 = oTextBox7.text
ThisComponent.CurrentSelection.string = sText7

dim args9(0) as new com.sun.star.beans.PropertyValue
args9(0).Name = "ToPoint"
args9(0).Value = "$l$" & row

dispatcher1.executeDispatch(document1, ".uno:GoToCell", "", 0, args9())

sText8 = oTextBox8.text
ThisComponent.CurrentSelection.string = sText8


dim args10(0) as new com.sun.star.beans.PropertyValue
args10(0).Name = "ToPoint"
args10(0).Value = "$i$" & row

dispatcher1.executeDispatch(document1, ".uno:GoToCell", "", 0, args10())

sValue9 = "-----"
ThisComponent.CurrentSelection.string = sValue9

dim args11(0) as new com.sun.star.beans.PropertyValue
args11(0).Name = "ToPoint"
args11(0).Value = "j$" & row

dispatcher1.executeDispatch(document1, ".uno:GoToCell", "", 0, args11())

sValue10 = "-----"
ThisComponent.CurrentSelection.string = sValue10

Case 0 
Msgbox "Operazione annullata"
End select
End Sub
:super:
OpenOffice 3.3 su Windows Vista
Rispondi