vg-excel-gest Posted July 4, 2012 at 09:46 PM Report #467334 Posted July 4, 2012 at 09:46 PM Olá pessoal, Tenho uma aplicação que necessita criar uma pasta com uns ficheiros Excel e decidi cria-la no directório c:\windows\.... , no w xp funciona perfeitamente mas no w7 não, não me deixa ter acesso e não executa o comando mkdir, pelo que já pesquisei necessitava executar o Excel como administrador ou qualquer coisa do género!!! Alguém me pode ajudar?
jpaulino Posted July 4, 2012 at 09:58 PM Report #467335 Posted July 4, 2012 at 09:58 PM decidi cria-la no directório c:\windows\ Efectivamente precisa de acesso como administrador, mas porque não criar em c:\users\<username>\ ... ?
vg-excel-gest Posted July 5, 2012 at 12:31 PM Author Report #467410 Posted July 5, 2012 at 12:31 PM Ora bem, porque essa pasta é oculta e contem uns ficheiros necessários ao funcionamento da aplicação e queria cria-la num endereço o menos acessível e escondida possível do usuário, a aplicação irá extrair informação desses ficheiros sem que o usuário se aperceba disso, também há a questão da aplicação poder trabalhar num pc algures no mundo e achei que a pasta do Windows seria a mais comum em todos os pcs com o Windows instalado. Quando testei em w7 é que deparei com esta barreira, gostaria de saber quais as alternativas que poderei seguir para além da já sugerida pelo Paulino tendo em conta a logica descrita.
jpaulino Posted July 5, 2012 at 08:04 PM Report #467544 Posted July 5, 2012 at 08:04 PM Penso que irás ter sempre problemas com utilizadores que não têm (e nunca terão) acesso a escrever na pasta "windows". O mesmo acontece com o registry. Tipicamente os settings da aplicação (penso que é isso que queres guardar) são colocados em C:\Users\<utilizador>\AppData\Local (que é uma pasta escondida) e que podes ir buscar com a função environ().
vg-excel-gest Posted July 5, 2012 at 09:53 PM Author Report #467568 Posted July 5, 2012 at 09:53 PM Boas, É isso mesmo, não sabia destas pastas, não necessito da função environ() já tenho uma função que me retorna o nome do utilizador, o que espero é que este endereço seja comum mundialmente a todos os pcs com windows. Se der certo retorno feedback, obrigado.
vg-excel-gest Posted July 11, 2012 at 08:16 AM Author Report #468272 Posted July 11, 2012 at 08:16 AM Bom dia, O problema foi resolvido de forma muito fácil e simples, o que eu necessitava era cada vez que a aplicação fosse instalada num pc algures no mundo teriam de ser gravada uma informação +- os settings da aplicação como o Paulino referiu numa pasta oculta e escondida do pc. A aplicação necessita de criar essa pasta via vba num endereço comum em qualquer pc, tarefa quase impossível, o Paulino sugeriu e bem o endereço, C:\Users\<utilizador>\AppData\Local mas este endereço difere na primeira pasta nas diferentes versões do windows, foi então que depois de uma curta pesquisa indo de encontro à ideia do Paulino que descobri a forma de ser retornado o endereço em cada pc correctamente sem falhas, de uma forma muito simples e directa com este código: Application.StartupPath
jpaulino Posted July 11, 2012 at 09:12 AM Report #468278 Posted July 11, 2012 at 09:12 AM Environ("LOCALAPPDATA") devolve sempre a pasta correcta, independentemente da versão do Windows 😉
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now