Il giorno mer 5 lug 2017 alle ore 00:58 beppe <gitrec@tin.it> ha scritto:
Il 03/07/2017 11:50, Renato Pontefice ha scritto:
Ciao Beppe,
...
alla fine del compito (scivere nella cella in cui mi trovo un termine o l'
orario)
vorrei che il focus sia nella cella adiacente (cioè stessa riga, ma
colonna +1)
al momento queste istruzioni
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$D$11"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
dicono di spostarsi sempre alla cella D11
invece come posso dirgli:
spostati nella stessa riga,ma di una colonna in più
Mi sono spiegato?
Grazie ancora
Renato
Come prima cosa dobbiamo acquisire il valore della cella corrente:
Sub Cella_attiva
Dim colonna,riga,cella,valore
rem data + orario corrente
valore=Now()
rem data corrente
rem valore=date
rem valore numerico
rem valore=15
colonna = ThisComponent.getCurrentSelection.CellAddress.Column
riga = ThisComponent.getCurrentSelection.CellAddress.Row
print "cella corrente - colonna: "+colonna, " - riga: "+riga
ThisComponent.Sheets.getByIndex( 0 ).GetCellByPosition( colonna+1, riga
).SetValue(valore)
Print "scritto in: "+ chr(65+colonna+1) + (riga+1) + " valore: " + valore
End Sub
le righe con print le puoi commentare con rem e non si stampano
la cella A1 e' la colonna=0 e la riga=0
le celle nelle quali vuoi inserire la data o l'ora prima formattale come
data o come orario
qui c'e' tutta la documentazione che pero' non so sfruttare:
http://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1sheet_1_1Spreadsheet.html
http://api.libreoffice.org/docs/idl/ref/namespacecom_1_1sun_1_1star.html
ciao
Beppe
Il 05/07/2017 11:08, Renato Pontefice ha scritto:
Ciao,
fenomeni dell' informatica.
____________________STAVO SCRIVENDO QUESTO
Ciao,
non pensare che non c' ho provato. c' ho provato e molto.
All' esecuzione della Macro, ottengo l' errore:
_______________________
sono tornato sulla macro per copiare l' errore e potertelo spedire. Invece
tutto funziona.
Dire che sono sorpreso...è un eufemismo...perchè sono incavolato! C' ho
messo fino alle 11 per capire quale fosse il problema...
Ma ora sono felice :-)
tutto funziona
ho asegnato le varie macro a tasti funzione (che poi è la ragione del fare
una macro)
eposso così iniziare a compilare il mio foglio.
Mi rimane solo un ultima cosa:
una volta eseguita una macro, posso spostare il focus dall' attuale Colonna
(credo .cellAddress.Column) a .cellAddress.Column + 1?
Questa è una "rifinitura" :-)
Grazie ancora
Renato
Sub Cella_attiva
rem definire le variabili
dim document as Object
dim dispatcher as object
Dim colonna,riga,cella,valore
dim args1(0) as new com.sun.star.beans.PropertyValue
rem data + orario corrente
valore=Now()
colonna = ThisComponent.getCurrentSelection.CellAddress.Column
riga = ThisComponent.getCurrentSelection.CellAddress.Row
ThisComponent.Sheets.getByIndex( 0 ).GetCellByPosition( colonna+1,
riga ).SetValue(valore)
rem adesso ti posizioni nella cella che vuoi tu modificando i valori
colonna e riga
rem non sapendo con quale funzione spostarsi in una determinata cella
rem ho usato il registratore automatico di macro e
rem ho cambiato il valore della cella con le variabili colonna e riga
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
args1(0).Name = "ToPoint"
args1(0).Value = chr(36) + chr(65+colonna+1) + chr(36) + (riga+1)
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
end Sub
non so se i due simboli del $ chr(36) nella variabile servano o meno,
si posiziona comunque dove hai scritto il valore tempo
ciao
Beppe
--
le nuvole non hanno regole,
perchè non hanno mai rinunciato
alla libertà di sognare.
--
Come cancellarsi: E-mail users+unsubscribe@it.libreoffice.org
Problemi? http://it.libreoffice.org/supporto/mailing-lists/come-cancellarsi/
Linee guida per postare + altro: http://wiki.documentfoundation.org/Local_Mailing_Lists/it
Archivio della lista: http://listarchives.libreoffice.org/it/users/
Tutti i messaggi inviati a questa lista vengono archiviati pubblicamente e non sono eliminabili
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.