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
Assegnare Valore del Campo di una Finestra Dialogo a cella
Assegnare Valore del Campo di una Finestra Dialogo a cella
OpenOffice 3.3.0 su Windows Vista
Re: Assegnare Valore del Campo di una Finestra Dialogo a cel
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
OpenOffice 3.3 su Windows Vista