Jump to content
vg-excel-gest

Criar pasta pelo vba no directório windows em pc com win 7

Recommended Posts

vg-excel-gest

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?

Share this post


Link to post
Share on other sites
jpaulino

decidi cria-la no directório c:\windows\

Efectivamente precisa de acesso como administrador, mas porque não criar em c:\users\<username>\ ... ?

Share this post


Link to post
Share on other sites
vg-excel-gest

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.

Share this post


Link to post
Share on other sites
jpaulino

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().

Share this post


Link to post
Share on other sites
vg-excel-gest

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.

Share this post


Link to post
Share on other sites
vg-excel-gest

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

Share this post


Link to post
Share on other sites
jpaulino

Environ("LOCALAPPDATA") devolve sempre a pasta correcta, independentemente da versão do Windows ;)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.