Il 30/11/2010 17:49, Bart Aimar ha scritto:

OK! Testata e perfettamente funzionante in tutte le condizioni che mi sono venute in mente!

mmm.. ho trovato un caso in cui dà errore!

Ed quando si aziona la macro con la la preview attiva (mai fidarsi dell'utente).

Questo in realtà è un caso che si ripete ogni qualvolta si è in Anteprima di stampa e c'è una "chiamata" del codice alla tabella attiva.
(ThisComponent.currentController.activeSheet  o similare)

Avrei risolto mettendo in testa a pressoché tutte le macro un richiamo a questa routine:

Function Verifica_chiudi_preview '(optional sPrima as string)
    dim document as object
    dim dispatcher as object
if ThisComponent.getCurrentController.getFrame.LayoutManager.isElementVisible _ ( "private:resource/toolbar/previewbar" ) Then ' controlla se si è in preview
        Verifica_chiudi_preview = "Attiva"
         document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") dispatcher.executeDispatch(document, ".uno:ClosePreview", "", 0, Array())
     End If
end Function

Pare funzionare.. ma siccome il codice l'ho assemblato pescando qua e là da discussioni diverse e non sono nemmeno certo si tratti di qualcosa di solidamente "documentato". Ovvero se si tratta di codice che abbia la possibilità di continuare a funzionare per sempre (si fa per dire...).

Con Libò che si affaccia prepotentemente sulla scena sono (in generale) un po' preoccupato, anche perché sviluppo ormai su LO e troppo spesso, installando poi l'estensione su OOo, ho comportamenti strani ed unexpected...
(Su OOo li avevo comunque..)

Posso essere confortato sulla solidità del codice sopra?

Grazie

Bart

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Rispondere a