Consenso all'uso dei cookies

SITO1 -- SITO2 -- Forum1 -- CercaGlobale -- Informativa su Cookie e Privacy


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Realizzare Macro in Calc
#1
Buongiorno a tutti.
Dovrei registrare una macro in calc da associare successivamente ad un pulsante.
Alcuni comandi durante la fase di ESECUZIONE non funzionano.
Come mai?

La mia macro dovrebbe essere:
APRI NUOVO FILE
COPIA ALCUNE CELLE DEL FOGLIO IN QUESTIONE
INCOLLA QUESTE CELLE NEL NUOVO FOGLIO
CHIUDI E SALVA

Grazie a tutti.
Cita messaggio
Grazie da:
#2
Ma le celle sono sempre le stesse oppure variano a secondo della selezione?

Se non sono sempre le solite celle, la registrazione la devi iniziare dopo aver selezionato.
Altrimenti la macro si memorizza proprio con quell'intervallo di celle.

Senza sapere quali comandi non ti funzionano e in attesa di qualcuno più esperto (Patel) puoi provare a registrare la macro ogni pezzo per conto suo (apri nuovo file, copia....) e vedere quale non ti riesce.
Cita messaggio
Grazie da:
#3
Buongiorno e grazie per la risposta.
Io ho un foglio così fatto:

COGNOME  - NOME - DATA DI NASCITA - LUOGO DI NASCITA .......

la macro che vorrei creare vorrei poi associarla ad ogni riga di questa tabella e all'occorrenza cliccare sul pulsante e lanciare la macro che dovrà copiarmi le celle COGNOME  E NOME e copiare questi dati in un altro foglio (magari non in Calc ma in Writer)

Inizierei la mia macro con :
  • REGISTRA MACRO
  • COPIA LE CELLE A e B
  • APRI NUOVO FILE WRITER
  • INCOLLA LE CELLE A e B
  • ......

ma siamo sicuri che in Calc è possibile registrare una macro per aprile un file nuovo?
Grazie
Cita messaggio
Grazie da:
#4
Citazione:ma siamo sicuri che in Calc è possibile registrare una macro per aprile un file nuovo?


Non lo so, comunque ti conviene provare a suddividere in varie macro più piccole , ognuna che svolge il suo compito.
Man mano che registri delle macro che funzionano, le fai eseguire in fila una dopo l'altra con questo sistema:

https://forum.openoffice.org/it/forum/vi...=26&t=4329

http://www.istitutomajorana.it/forum2/Th...ltre-macro
Cita messaggio
Grazie da:
#5
Difatti così sto cercando di procedere.
Ma se registro la sola parte relativa all'apertura di un nuovo file di Writer non parte nulla.
Da qui il sospetto che non si posso fare.
Attendo nuove
Grazie
Cita messaggio
Grazie da:
#6
il registratore di macro di OO non registra tutto e non registra quello che desideri, allega i due file, con writer non ho mai lavorato, ma ci posso provare.
Dimmi dove devo incollare
Cita messaggio
Grazie da:
#7

.odt   domanda.odt (Dimensione: 9,29 KB / Download: 3)
.ods   personale.ods (Dimensione: 10,98 KB / Download: 1) Allego i due file.
Il primo è il foglio di Calc con elenco del personale da cui attingere i dati da copiare (celle A-B-C-D)
Il secondo è il foglio di Writer in cui andare a incollare tali celle per la creazione di un modello di domanda da stampare successivamente.
Grazie
Cita messaggio
Grazie da:
#8
Ti confermo che è possibile, però devi inserire dei segnalibri al posto in cui vuoi incollare il valore delle celle, altrimenti non so dove incollare, per esempio se voglio incollare la data potrei farlo dopo "il"  ma c'è anche "il sottoscritto".
Quindi occorrono 3 segnalibri, "nome" per cognome e nome, "luogo" per il luogo e "data" per la data, fatto questo prova questa macro, se ti funziona la completiamo per scandire tutti i nomi
Codice:
Sub writerBookmark
Dim  dummy()
Doc = ThisComponent
adresseDoc = ConvertToURL("F:\Download\Domanda.odt")
Documento = StarDesktop.loadComponentFromURL(adresseDoc, "_default", 0, dummy() )
s = Doc.getURL()
CognomeNome = Doc.sheets(0).getCellRangeByName("A2").string & "  " & Doc.sheets(0).getCellRangeByName("b2").string
Luogo = Doc.sheets(0).getCellRangeByName("C2").string
nascita = Doc.sheets(0).getCellRangeByName("D2").string
oText = Documento.Text
oInsertPoint =Documento.getBookmarks().getByName("nome").getAnchor()
oText.insertString(oInsertPoint, CognomeNome, false)
oInsertPoint =Documento.getBookmarks().getByName("luogo").getAnchor()
oText.insertString(oInsertPoint, luogo, false)
oInsertPoint =Documento.getBookmarks().getByName("data").getAnchor()
oText.insertString(oInsertPoint, nascita, false)
End Sub
Cita messaggio
Grazie da:
#9
Ok, perfetto così funziona, devo solo familiarizzare con i segnalibri.
In realtà dovrei inserirne altri e di conseguenza...prolungare la macro.
Ma quando inserisco i segnalibri in writer non li vedo, c'è la possibilità di visualizzarli nel testo (come succedeva per i campi del vecchio Word)?

Grazie
Cita messaggio
Grazie da:
#10
non ti so rispondere, come già detto uso pochissimo writer, comunque non mi sembra importante, tu lo sai dove li metti e poi basta assegnare nomi ben descrrittivi
Cita messaggio
Grazie da:


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)