Paolo Mantovani ha scritto:
Ciao Bart,
Ciao :-)
La frase "spostarmi dal file "attivo" ad un'altro già APERTO" è un po
nebbiosa...
Servirebbe un po di codice (una roba minima) per rendersi conto di come
ottieni le varie istanze dei documenti, e soprattutto in modo da avere
qualche punto di riferimento e non dover partire da troppo indietro
Eviterei il codice (ma visto che vuoi farti del male te lo mando...) ma
potrebbe essere fuorviante rispetto ad una soluzione ottimale...
Il problema è questo:
Io sto lavorando sul foglio elettronico di una contabilità lavori
(questo file si chiama "File_di contabilità.XX.ods") e mi accorgo che
devo aggiungere un prezzo.
Allora vado in giro per il mio HD a cercare un prezzario adatto (la sola
regione Piemonte ne ha 17...).
Trovo il prezziario (ovviamente li ho già adattati in .ods per i nostri
scopi) e la voce che mi serve... e (tralasciando alcuni dettagli) vorrei
copiare questo "range" di celle e andarlo ad incollare nella sheet
"Elenco_Prezzi" contenuta nel file "File_di contabilità.XX.ods".
Eccoti il "codice", e per favore non vomitare sulla moquette...
REM ***** BASIC *****
' Sono su un file prezziario, ho trovato un'opera compiuta che mi
' piace un sacco
' e vorrei "copiarla" sull'Elenco prezzi (che sta in un altro file...)
sub Trasferisci_la_voce_su_Elenco_Prezzi
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$3:$G$3"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
'a questo punto vorre cambiare documento, cioè da
' questo file (ThisComponent) vorrei andare su un
' altro file per incollare...
' in excel usavo " Windows(Var_nome_file).Activate "
' e poi...
Set oSheet = oCalcApp.sheets.getByname("Elenco Prezzi")
' o qualcosa del genere...
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint"
args4(0).Value = "$A$15"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args4())
dim args5(5) as new com.sun.star.beans.PropertyValue
args5(0).Name = "Flags"
args5(0).Value = "SDN"
args5(1).Name = "FormulaCommand"
args5(1).Value = 0
args5(2).Name = "SkipEmptyCells"
args5(2).Value = false
args5(3).Name = "Transpose"
args5(3).Value = false
args5(4).Name = "AsLink"
args5(4).Value = false
args5(5).Name = "MoveMode"
args5(5).Value = 4
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args5())
end sub
'###############################
Dimenticavo...
Andare fisicamente da un file all'altro in questo caso è importante...
Quando ho avuto l'esigenza di acquisire una un nuovo prezzo stavo
lavorando sulla contabilità.
Trovata la voce e trasferita sull'Elenco Prezzi io li vorrei trovarmi...
guardarmi intorno... e poi decidere se devo cercare altri prezzi, oppure
andare sulla sheet del Computo Metrico... o ancora creare una nuova analisi.
La filosofia generale è aiutare l'utente, che è concentrato sul
progetto, a non disorientarsi inseguendo le finestre che si aprono e si
chiudono.
Su come - stando in "posto" - prelevare dei dati da un'altra sheet e
incollarli sul "posto" senza muoverci dal "posto" ne parleremo... perché
in starbasic non ho ancora capito come fare... :-)
grazie per la pazienza
Bart
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]