Pergunte aqui
0

Caminho para salvar pdf exportado de acordo com o usuario logado

perguntadas 2020-03-09 19:45:38 +0200

Boa tarde Amigos,

Pesquisei bastante e não encontrei a resposta para minha duvida. Temos um simulador, onde ele gera um arquivo em PDF utilizando uma macro, porem vários usuários utilizam o simulador, gostaria de saber se existe uma forma de eu padronizar o caminho de saída do arquivo PDF de acordo com o usuário logado?

sub MacroPDF
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
Dim oPlan as Object, oCel as Object
Dim sNomeArquivo as String
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
oPlan = ThisComponent.Sheets.getByName( "Proposta" )
oCel = oPlan.getCellRangeByName( "A1" )
rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = "file:///home/usuariologado/Área de Trabalho/Proposta/ " & oCel.String & ".pdf"
args1(1).Name = "FilterName"
args1(1).Value = "calc_pdf_Export"
dispatcher.executeDispatch(document, ".uno:ExportDirectToPDF", "", 0, args1())
end sub

Utilizamos o Sistema Operacional Mint e o LibreOffice.

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

2 Respostas

1

respondidas 2020-03-12 00:00:03 +0200

imagem do gravatar de Ronaldo Elias

updated 2020-03-12 00:28:29 +0200

imagem do gravatar de Schiavinatto

.

SUB Mostrar()
Computador  = Environ("Computername")
Dominio     = Environ("USERDOMAIN")
Usuario     = Environ("USERNAME")
MsgBox Computador & " " & Dominio & " " & Usuario   
END SUB

.

editar assinalar como ofensivo Excluir Link mais
0

respondidas 2020-03-09 20:42:22 +0200

imagem do gravatar de Conrado

updated 2020-03-09 20:43:44 +0200

@antdocic90

Como está buscando o nome do arquivo em célula na planilha, utilize a função CÉL("filename";a1), dessa forma ela vai extrair o nome do arquivo completo, desde seu local salvo, incluindo o nome do usuário logado. Feito isso, utilize a função EXT.TEXTO, para extrair exatamente o nome do usuário logado.

Ficará assim:

=EXT.TEXTO(CÉL("filename";A1);15;PESQUISAR("/Área de Trabalho";CÉL("filename";A1))-15)

15 = significa que a primeira letra do nome do usuário está na 15ª posição. Ele pode variar conforme está descrito sua barra de endereço. Exemplo: 'file://PROVINCIA/Arquivos/Usuarios/Conrado.Camargo/Desktop/Gant.ods'#$Planilha4

No meu caso, ficaria assim:

=EXT.TEXTO(CÉL("filename";A1);PESQUISAR("Usuarios/";E7)+NÚM.CARACT("Usuarios/");PESQUISAR("/Desktop";CÉL("filename";A1))-(PESQUISAR("Usuarios/";E7)+NÚM.CARACT("Usuarios/")))

PESQUISAR = essa função vai determinar em qual posição inicia "/Área de Trabalho". Dessa forma, é só subtrair o 15, que retorna exatamente o nome do usuário logado.

editar assinalar como ofensivo Excluir Link mais
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2020-03-09 19:45:38 +0200

Lidas: 14 vezes

Última atualização: Mar 12