Nel mese di gennaio Paolo Mantovani, facendomi un cazzettone, spiegava
chiaramente le differenze fra  il nome del file (come noto al file system) e
ul Titolo (attribuibile dalla schedina Proprietà)
http://it.openoffice.org/servlets/ReadMsg?listName=dev&msgNo=641
al quale rimando per lettura

All'epoca quel chiarimento mi fu di molta utilità,e pragmaticamente
cancellai dalle opzioni possibili l'uso del titolo e del frame e strutturai
tutto sulla URL file e dimenticando il resto...

Ma ieri, per sbaglio e per gioco, attribui un Titolo ad un documento (dalla
schedina proprietà) e una macro di trasferimento di sheet fra documenti
diversi smise di funzionare.
(la macro si appoggia su una subroutine registrata...)

Bene! Ciò che avevo evitato di affrontare all'epoca devo affrontarlo adesso!
:-(

Ho fatto allora un po' di prove con xray...ma la mia confusione è aumentata.



All'epoca si diceva:

Un documento può avere un percorso,


E questa era l'unica cosa veramente chiara... e per maggiore chiarezza
aggiungo che eliminado la path ottenevo un "nome" per tutti gli usi.

un nome, un titolo,


Il nome di un documento come ti ho detto prima non è necessariamente il nome
di un file, anche perchè il file non sempre esiste.


OK
Un doc appena creato e non ancora salvato non ha ancora un nome nel file
siystem e quindi non ha una URL

Il titolo invece :
menu file -> proprietà: titolo

Qui c'è un problema di omonimia....
Un doc appena creato e non ancora salvato ha già un titolo:
ThisComponent.CurrentController.Frame.title

Ma il titolo di cui tu parli, settabile via GUI con menu file -> proprietà
via basic non riesco a recuperalo

il frame che contiene il documento a sua volta ha una proprietà Name
Print ThisComponent.CurrentController.Frame.Name


Mmm...

In genere è una stringa vuota, perciò non vedrai un bel nulla, tuttavia in
qualche caso è utile impostare il nome di un frame:
ThisComponent.CurrentController.Frame.setName = "Pippo"


Ok

Specie se si sta lavorando con molti documenti aperti come nel tuo caso.


Sono tutt'orecchi...

(ricorda che StarDesktop ha un metodo findFrame e anche qualcosa tipo
setActiveFrame)


!?

inoltre è possibile risalire al documento avendo il Frame che lo contiene:
oDoc = oFrame.Controller.Model


Suppongo anche questo sia cosa utile ma mi sfugge l'uso...


Ho cercato in giro come recuperare il Titolo del doc (non quello del frame)
ma non ne sono venuto a capo...

E se veramente non c'è, com'e' possibile che quel campo possa condizionare
una macro?

Metto qui in coda un pezzo di codice che mette insieme le proprietà attorno
a nomi, titoli e percorsi... sarebbe da completare...

grazie

Bart

Sub nomi_vari
   oDoc = ThisComponent
   'ThisComponent.CurrentController.Frame.setName("pippo")
   sDocURL = oDoc.getURL()
   Print "URL completa = " & oDoc.getURL()
       Print "Document File Name = " & FileNameoutofPath(sDocURL, "/")
   sTitolo = ThisComponent.CurrentController.Frame.title
   print "Titolo = " & stitolo
   sFrame = ThisComponent.CurrentController.Frame.Name()
   print "Frame = " & sFrame
       ' e il titolo da schedina proprietà?
End sub

Rispondere a