Macro per aprire in sola lettura un documento
Inviato: martedì 4 giugno 2013, 15:38
Buongiorno a tutti,
oggi sono incappato in un problema che non riesco proprio a risolvere, e spero che qualcuno qui sul forum possa darmi una mano.
Ho un'applicazione scritta in Powerbuilder, con la quale, tramite OLE, posso aprire un documento Writer memorizzato nel db.
Ho la necessità di aprire questo documento nell' OLE in modalità read only, o almeno un modo per non permettere agli utenti di apportare modifiche a questo. Ho utilizzato la seguente Macro:
sub readonly
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:EditDoc", "", 0, Array())
end sub
La Macro di per se, eseguendola da un qualsiasi documento Writer memorizzato su una cartella del file system (C:\doc), funziona, rendendo il documento come "read-only".
Eseguendo questa Macro dal documento Writer visualizzato nell'OLE, invece, non ottengo alcun risultato, è come se i comandi all'interno di questa venissero ignorati. Il documento aperto nell'OLE riporta la dicitura private:stream.
PS: Dall'OLE riesco a eseguire molte altre Macro, solo questa non viene eseguita.
Se qualcuno potesse darmi una mano ne sarei grato.
Grazie in anticipo .
oggi sono incappato in un problema che non riesco proprio a risolvere, e spero che qualcuno qui sul forum possa darmi una mano.
Ho un'applicazione scritta in Powerbuilder, con la quale, tramite OLE, posso aprire un documento Writer memorizzato nel db.
Ho la necessità di aprire questo documento nell' OLE in modalità read only, o almeno un modo per non permettere agli utenti di apportare modifiche a questo. Ho utilizzato la seguente Macro:
sub readonly
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:EditDoc", "", 0, Array())
end sub
La Macro di per se, eseguendola da un qualsiasi documento Writer memorizzato su una cartella del file system (C:\doc), funziona, rendendo il documento come "read-only".
Eseguendo questa Macro dal documento Writer visualizzato nell'OLE, invece, non ottengo alcun risultato, è come se i comandi all'interno di questa venissero ignorati. Il documento aperto nell'OLE riporta la dicitura private:stream.
PS: Dall'OLE riesco a eseguire molte altre Macro, solo questa non viene eseguita.
Se qualcuno potesse darmi una mano ne sarei grato.
Grazie in anticipo .