Bernardini Lido ha scritto:

Li avevo visti anch' io, ma non li ho segnalati per non creare ulteriori stress a Bart

Mio gentile , amato (ed unico alfatester)...
Anche se la tendenza è a non amare chi ti avverte che hai la patta aperta...
:-)


Mi rimane una cosa che non so spiegarmi Perchè cancellando i nomi dal
menu Inserisci->Nomi->Gestisci la cancellazione avviene in una ventina di secondi e con una macro "liscia" diversi minuti? Tutte quelle celle concatenate a un nome che non esiste non creano problemi
 ai comandi interni di OOo, oppure il codice compilato di OOo è TANTO
 più veloce dell' interprete del Basic?

Lido! Ma non eri stato tu a scoprire che cancellando l'area
elenco_prezzi il sistema diventava insopportabilmente lento sulle successive cancellazioni anche via UI?

Capisco il tuo "ritiro" nei confronti di Bart, ma messo così gli lasci un vuoto nello stomaco

Invece di una sensazione potresti postargli due righe di codice come assaggio poi, se vuole riempirsi la pancia, la pappa può cercare di prepararsela da solo (o forse Bart sa già come utilizzare quella coppia di metodi)

Vero... nel senso che ho copiato senza capire bene del codice trovato in
rete...
Volevo sospendere un momento.. ma tu mi provochi... e cedo alla
tentazione...

L'ho usato per trasferire il contenuto di quattro celle e tu mi dicevi
che dava problemi...
Cioè il codice cercava di processare dei dati che non erano ancora
arrivati a destinazione..
(anzi... copio e incollo un pezzo da quei mex mal distruibuiti...)
Anche quando banalmente trasferisco (duplico) un range di 4 celle da
un doc Prezzario all'Elenco prezzi del doc di contabilità la cosa si incasina...
Credevo di aver risolto, ma Lido (il mio unico ed amato alfa-tester),
mi riferisce che la macro sul suo pc si inciampava... o meglio
cercava di elaborare dati che ancora non erano arrivati a
destinazione... Lido ha tamponanto con un wait... ma temo si tratti
solo di una buona pezza ad un codice traballino... In generale non ho
ancora capito se l'uso di un wait faccia si che i passi successivi
della macro attendano in ogni caso, o se invece (come logica
suggerisce), attende giusto per il tempo indicato... e se i dati non
sono pronti patatrac!
> Questa è una domanda! (Importante!) :-)

Ciè, questi wait 100 (giusto il lampo d flash) fanno anche qualcos'altro suppongo...

Infine, per evitare di essere ancora cazziato è meglio che posto il mio codice... :-)

Sub Voce_a_ElencoPrezzi '
' si esegue dal doc Prezzario, dopo aver scelto e
' assemblato una voce da duplicare sul doc di contabilità
' per riprodurre la situazione servono due doc
' con i nomi appropriati di sheet..
 oSourceDoc=ThisComponent
 oSourceSheet= oSourceDoc.Sheets.getByName("temp")

 oRange1 = oSourceSheet.getCellRangeByPosition(0,2,5,2)

 SUrl = UltimusFree2.Lupo_0.sUltimus ' legge la var
'contenente la URL di destinazione
' per fare delle prove bisogna sostituirla...

sUrl2 = ConvertToUrl (Surl)

wait 100

oTargetDoc= StarDesktop.LoadComponentFromUrl_
                                (sUrl2, "_default", 0, Array())
oTargetSheet= oTargetDoc.getSheets.getByName("S1")
oRange2 = oTargetDoc.Sheets.getByName("S1")_
                        .getCellRangeByPosition(41,3,46,3)

oDataArray = oRange1.getDataArray
oRange2.setDataArray(oDataArray)

wait 100

'a questo punto lavoro sul doc di destinazione...

oSheetDest = ThisComponent.Sheets.getByName("S1")

' prelevando e rimanipolando pezzi del range appena duplicato..
 oCell = oSheetDest.GetCellByPosition( 46,3 )
 oCodOrigine =oCell.string
  oCell = oSheetDest.GetCellByPosition( 43,3 )
  oDesc = oCell.string
' e via così...

End Sub

Lido tu saparai meglio indicare dove ti dava errore...

ciao

Bart

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a