Ciao Daniele,

Alle 11:50, domenica 18 dicembre 2005, Daniele Pinna ha scritto:
> Salve a tutti :-)))
>
> Avendo usato per molto tempo Excel e la sua programmazione interna in
> VBA, ma anche
> alcune normali funzioni come ad esempio:
>         AMBIENTE.INFO("directory")
> che restituiva il percorso corrente in cui si trovava il file, per
> evitare di dovermi riscrivere ogni volta
> le funzioni ho creato un alias (o quasi) di quella funzione...
>
> Unica differenza è che devo togliere il punto (presente in excel) e
> sostituirlo con il trattino basso (o altro)
> in Calc...
>
> Qualcuno sa come fare in modo di:
> 1) poter lasciare il puntino, in modo da non dover cambiare il nome
> della funzione?

prova cosi:

Function [AMBIENTE.INFO](sParametro as String) As String
dim sTemp as string

    select case lCase(sParametro)
        case "directory"
            sTemp = CPath
        case else
            sTemp = "Parametro non supportato!"       
    end select

[AMBIENTE.INFO] = sTemp

End Function


> 2) fare in modo che se apro un file di excel, quella funzione non venga
> sostituita da:
>     =#NOME!()

Non lo so :-(
Forse si potrebbe provare a integrarla come Add-In per Calc
Gli add-in garantiscono il massimo di integrazione possibile per le funzioni 
aggiuntive di calc.
Non è difficile, io ne ho fatto uno.
purtroppo non so se questo sia risolutivo occorrerebbe fare delle prove o 
chiedere nelle liste specializzate.
[email protected] mi sembrerebbe appropriata


> Allego il codice che ho usato (per ora è supportatata solo la
> restituizion del percorso corrente)
>
[...]


> Function CPath()    'Restituisce il percorso del file corrente
> Dim sPercorso
>     sPercorso = CurDir
>     CPath = sPercorso
> End Function

Qui mi pare di vedere un problema:
la funzione Basic CurDir non restituisce il path del documento corrente ma un 
ipotetico path corrente, riferito all'applicazione

In effetti CurDir, ChDir, ChDrive sono funzioni che sono state messe li per 
compatibilità con il VBA.

OOo essendo multipiattaforma ragiona sempre in URL perciò queste cose di win 
perdono significato in una prospettiva più ampia

Comunque, per farla breve, i documenti di ooo hanno la prorpietà URL. 
Questa proprietà è vuota nel caso di documento appena creato e contiene invece 
il URL completo dopo che il documento è stato salvato.

La funzione basic 
path = ConvertFromUrl(ThisComponent.Url)

ti può convertire il Url in un path valido nella piattaforma corrente.
Poi occorre fare un po di lavoretti sulla stringa per estrarre la directory.
Mi pare ci sia qualcosa di già fatto in Tools comunque.

altra idea:
Esiste anche la funzione CELLA che può restituire il path del documento e 
altre informazioni, perciò si potrebbe rielaborare quella all'interno della 
tua AMBIENTE.INFO()


ciao
Paolo Mantovani

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

Rispondere a