Pegar o caminho do arquivo aberto

Tenho um arquivo no OneDrive espelhado em varias maquinas, ele é usado para geração de Propostas (orçamentos).

Necessito pegar o caminho de Salvar como, automaticamente, de cada maquina para salvamento das Propostas via Macros.

Existe maneira de descobrir o Caminho do arquivo aberto ?

a macro abaixo da o caminho do LibreOffice

Sub DirLO
MsgBox CurDir, 0, "O Diretório atual do LibreOffice é: "
End Sub

Necessito algo semelhante que de o Caminho do arquivo ativo.

Eu utilizo a função CÉL, dependendo da situação podendo associar a outras como localizar e ext. texto. =CÉL(“FILENAME”;D2). Exemplo de resultado: "‘file:///home/leandro/Documentos/Back/Leandro/2021/Leandro21.ods’#$05-21"

Caramba, @LeandroVieira, que fácil, Obrigado.

De nada Schiavinatto!

Oi Schiavinatto,

Como você referiu MACRO, existem duas maneiras. A que uso mais, por ser mais simples é esta:

Dim Atributo
Atributo() = ThisComponent.getArgs()
Past0 = DirectoryNameoutofPath( Atributo(0).Value , "/")
Pasta = ConvertFromUrl (Past0)

Print Pasta

Assim você não precisará colocar o caminho em uma Célula.

A variável PAST0 conterá o caminho “bruto” do sistema.

A variável PASTA, o nome “humano”.

Ah, e se por acaso você precisar também colocar o nome do Arquivo atual em uma variável, use:

Arquivo = ThisComponent.CurrentController.Frame.Title

TALVEZ seja necessário colocar essa linha no comecinho do código, mas não tenho certeza e agora tô sem tempo pra testar (teria que fechar tudo aqui para isso):

GlobalScope.BasicLibraries.LoadLibrary("Tools")

Abraço.

Olá, tenho o seguinte código:

Sub NomeBarraTituloDocumento1

Dim oController as Object
Dim sControllerTitulo, sControllerDocumento as String

oController = ThisComponent.CurrentController

oController.Frame.Title = "Título de Teste"

sControllerTitulo = oController.Frame.Title 'Renomeia a barra de título"

MsgBox "Nome da barra de título:" & Chr$(13) & Chr$(13) & sControllerTitulo,64,"Nome"

sControllerDocumento = oController.getTitle

oController.Frame.Title = sControllerDocumento 'Mostrar o nome original do arquivo com e sem a extensão

MsgBox "Nome do arquivo com e sem a extensão:" & Chr$(13) & Chr$(13) & sControllerDocumento & Chr$(13) & Left(sControllerDocumento,Len(sControllerDocumento) - 4),64,"Nome"

End Sub