Notifications
Clear all

Macro testar se pasta existe não funciona em outro pc

6 Posts
3 Usuários
0 Reactions
2,021 Visualizações
(@schneiderx)
Posts: 15
Active Member
Topic starter
 

Boa tarde senhores

Tenho um código em vba que testa se uma pasta já existe, se falso: cria ela, se verdadeiro, pula pra próxima etapa.
No meu pc, aonde criei a macro e em mais outros 2 pcs ela funciona. Porém em um dos pcs que ela deveria funcionar ela não funciona. Clico no botão e ela da erro 52: "bad file name or number" e aponta para a parte do texto com fonte maior no código abaixo.
O código pede para depurar e para na linha que está com fonte maior.

Sub Criar_Novo_Amostra()
Dim Ultimalinha As Integer
Const cstrRoot As String = "H:hidrojetdocQualidadeAcompanhamento de Amostras"
'declaração variaveis
Dim Pasta As String
Dim caminhoalert As String
Dim Counter As Long
Dim ano As Integer

Ultimalinha = Range("B65000").End(xlUp).Row + 1

Counter = Ultimalinha
Pasta = Range("A" & Counter).Value
ano = Format(Now, "yyyy")
caminhoalert = cstrRoot & "" & CStr(ano)
'testa se pasta existe
If Len(Dir(caminhoalert, vbDirectory)) = 0 Then
MkDir caminhoalert
End If
caminhoalert = cstrRoot & "" & CStr(ano) & "" & Pasta
MsgBox caminhoalert
If Len(Dir(caminhoalert, vbDirectory)) = 0 Then
MkDir caminhoalert

Alguém já teve um problema parecido ou tem alguma ideia de porque no outro computador não está funcionando?

 
Postado : 03/07/2014 11:38 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Quanto ao erro, veja se ajuda!
http://www.auesolucoes.com.br/pt-br/wik ... mber&in=36
http://msdn.microsoft.com/en-us/library ... 24(v=vs.60).aspx

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 03/07/2014 11:47 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Muito provavelmente, no equipamento que gera o erro, não há o "HD" H:

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 03/07/2014 12:41 pm
(@schneiderx)
Posts: 15
Active Member
Topic starter
 

Muito provavelmente, no equipamento que gera o erro, não há o "HD" H:

Exatamente, era esse o problema, o H: era destino do drive de cd no outro computador.

Existe então uma maneira de mudar o H: para por exemplo "Disco Local" ?

 
Postado : 04/07/2014 10:49 am
(@schneiderx)
Posts: 15
Active Member
Topic starter
 

Boa tarde senhores!

Preciso criar pastas em determinado local.
Na maioria dos computadores ele é o "drive" (H:) que possui um nome de "cedro": "cedro (H:)"

Em um determinado computador "cedro" é o drive (Z:) e isto está dando um erro de nome de arquivo quando tenta criar a pasta pois ele tenta criar no (H:)

Existe uma maneira de modificar o "H:....." do caminho da pasta para "cedro:...." e ainda assim funcionar?

Ou outra maneira para ele identificar aonde está a pasta "cedro" e saber a letra do drive para utilizar no código?

 
Postado : 04/07/2014 11:06 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

schneiderx,

Boa tarde!

Assim... sem maiores informações na sua mensagem, temos que partir para "adivinhação"...

Como não sei que código você está utilizando, vou supor e deduzir que você deve estar utilizando um caminho fixo para acessar o caminho onde quer gravar as pastas.

Desse modo, no lugar do caminho fixo, troque-o pelo comando que pega o caminho da pasta ativa da planilha que está executando a macro.

Por exemplo, se você está utilizando

"C:TesteAmbientesArquivo.xlsx"

Use:

ActiveWorkBook.Path & "Arquivo.xlsx"

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 04/07/2014 1:51 pm