Ciao,
Il 28/04/2012 09:36, Micron Engineering ha scritto:
Sto cercando documentazione per le macro in OOo, specificamente mi
servono per calc. Trovo solo i documenti ufficiali e la doc di Pytoniak
ma non trovo nulla a riguardo degli oggetti UNO da utilizzare e dei loro
metodi, oltretutto l'editor basic di OOo non ha nemmeno l'auto
completamento per gli oggetti. Ho provato anche del codice VBA sia in
OOo che in LibreOffice ma non viene riconosciuto (ho modificato l'inizio
del file con le righe per il riconoscimento di VBA naturalmente).
1. potete indirizzarmi per la ricerca? Google non mi ha aiutato molto
2. C'è qualche opzione ben nascosta che permette di avere l'auto
completamento nell'editor delle macro?
In effetti nelle prime versioni di OOo era presente ma ho aperto una
issue per toglierlo e alla fine ci sono riuscito!! YUK YUK!!
(ok scherzavo :-)
Sono un po di corsa ma ti consiglio di scaricare la guida in italiano di
starbasic prodotta originariamente dalla Sun
(non so se è ancora online, se hai problemi scrivimi in pvt che te la invio)
Poi scarica e installa il SDK
http://www.openoffice.org/api/SDK/index.html
Questo package contiene la documentazione degli oggetti dell'API
(IDL documentation) in formato html
Inoltre, ti consiglio vivamente XRAY, uno strumento davvero molto valido
prodotto da un volontario della community: Bernard Marcelly
Si tratta di un object inspector che ti permette di ispezionare
proprietà e metodi degli oggetti di ooo.
Puoi configurare Xray per trovare i riferimenti agli oggetti ispezionati
nella documentazione IDL
P.S. i problemi sono sempre gli stessi:
a. inserire una riga in calc e copiare una riga di default nella riga
inserita
per inserire una o più righe:
ThisComponent.Sheets(0).Rows.insertByIndex (nIndex, nCount)
dove:
nIndex: indice della riga dove si vuole fare l'inserimento (la prima
riga ha indice 0)
nCount: numero di righe da inserire.
Per quanto riguarda il copia incolla, come dicevo sono di corsa e non ho
tempo di far eun esempio ad hoc ma ho trovato una funzioncina nella
libreria tools che forse ti può illuminare:
Function DuplicateRow(oSheet as Object, RangeName as String)
Dim oRange as Object
Dim oCell as Object
Dim oCellAddress as New com.sun.star.table.CellAddress
Dim oRangeAddress as New com.sun.star.table.CellRangeAddress
oRange = oSheet.GetCellRangeByName(RangeName)
oRangeAddress = oRange.RangeAddress
oCell = _
oSheet.GetCellByPosition(oRangeAddress.StartColumn,oRangeAddress.StartRow)
oCellAddress = oCell.CellAddress
oSheet.Rows.InsertByIndex(oCellAddress.Row,1)
oRangeAddress = oRange.RangeAddress
oSheet.CopyRange(oCellAddress, oRangeAddress)
DuplicateRow = oRangeAddress.StartRow-1
End Function
b. aggiungere una riga in un altro foglio a partire da quella appena
inserita e mantenerla aggiornata ad ogni modifica
Questo non mi è chiaro, prova a riformulare in modo più descrittivo
ciao
Paolo M
---------------------------------------------------------------------
Per cancellarsi: [email protected]
Per informazioni: http://www.openoffice.org/it/
Per avviare una nuova discussione: [email protected]
Archivi: http://mail-archives.apache.org/mod_mbox/incubator-ooo-utenti-it