Jump to content
Fórum Script Brasil
  • 0

Renomear arquivo da pasta %userprofile% no vb6


serginho450

Question

Olá, estou precisando criar um executável que renomeie arquivos nas pastas de usuários no VB6.

Algo como:

Private Sub Command3_Click()

Dim OldName, NewName, ARQANT, NOVOARQ

ARQANT = Environ("userprofile") & ("\Desktop\teste.txt")

NOVOARQ = Environ("userprofile") & ("\Desktop\teste.old")

Name ARQANT As NOVOARQ

End Sub

O problema é que esse não funciona.

Alguém pode me ajudar?

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0
se o arquivo teste.txt existir no desktop, é pra funcionar.

se o Environ() estiver com problema pra trazer o caminho certo, tente usar alguma das funcoes q o graymalkin indica nesse tópico: http://scriptbrasil.com.br/forum/index.php?showtopic=70575

Obrigado pela sua resposta.

Bom o arquivo teste.txt está na Desktop

Para saber se o Environ() estava funcionando,fiz o seguinte teste:

Private Sub Command3_Click()

Dim OldName, NewName, ARQANT, NOVOARQ

ARQANT = Environ("userprofile") & ("\Desktop\teste.txt")

NOVOARQ = Environ("userprofile") & ("\Desktop\teste.old")

text1 = ARQANT

text2 = NOVOARQ

End Sub

Ele me retornou exatamente os valores

text1 = c:\users\sergio\Desktop\teste.txt

text2 = c:\users\sergio\Desktop\teste.old

Com isso acredito que o Environ() funciona, deve ser alguma coisa com a última linha (name).

Ou se você tiver uma outra forma que funcione eu vou ficar agradecido se você postar aqui. Obrigado.

Link to comment
Share on other sites

  • 0

Olá Serginho !

Seguinte...

Algumas observações...da maneira que você declarou as variáveis elas estão automáticamente com o tipo "Variante"...ou seja, você não determinou nenhum "Tipo" para as variáveis, o correto seria setar como "String".

Ví também que nos formatos você renomeia de "Texto" (.txt) para um formato que desconheço (.OLD)...

Bem, fora as observações fiz um teste aqui e funcionou beleza com diferentes usuários...ficou assim:

Private Sub cmd1_Click()
Dim Dsk As String, nAnt As String, nNovo As String

Dsk = Environ("USERPROFILE") & "\Desktop\"
nAnt = Dsk & txt_Antigo.Text
nNovo = Dsk & txt_Novo.Text

Name nAnt As nNovo
MsgBox "Alteração bem sucedida !", vbInformation, "Administrador"
End Sub

Onde existem 2 caixas de Texto (txt_Antigo e txt_Novo), mais um Botão de comando (cmd1).

Criei um arquivo com o nome "Teste.txt" no Desktop e com a aplicação rodando, coloquei o nome na primeira caixa...detalhe, coloquei o nome completo,ou seja, com o formato = "Teste.txt"

Na segunda caixa coloquei o nome para renomear...também com o formato = "Novo Teste.txt"

E cliquei no botão...BINGO !!! nome alterado com sucesso ! legal.png

Adapte ao seu código o exemplo acima e veja se funciona aí também, beleza ?!

FUIII !!! sml13.gif

Edited by Danleonhart
Link to comment
Share on other sites

  • 0
Olá Serginho !

Seguinte...

Algumas observações...da maneira que você declarou as variáveis elas estão automáticamente com o tipo "Variante"...ou seja, você não determinou nenhum "Tipo" para as variáveis, o correto seria setar como "String".

Ví também que nos formatos você renomeia de "Texto" (.txt) para um formato que desconheço (.OLD)...

Bem, fora as observações fiz um teste aqui e funcionou beleza com diferentes usuários...ficou assim:

Private Sub cmd1_Click()
Dim Dsk As String, nAnt As String, nNovo As String

Dsk = Environ("USERPROFILE") & "\Desktop\"
nAnt = Dsk & txt_Antigo.Text
nNovo = Dsk & txt_Novo.Text

Name nAnt As nNovo
MsgBox "Alteração bem sucedida !", vbInformation, "Administrador"
End Sub

Onde existem 2 caixas de Texto (txt_Antigo e txt_Novo), mais um Botão de comando (cmd1).

Criei um arquivo com o nome "Teste.txt" no Desktop e com a aplicação rodando, coloquei o nome na primeira caixa...detalhe, coloquei o nome completo,ou seja, com o formato = "Teste.txt"

Na segunda caixa coloquei o nome para renomear...também com o formato = "Novo Teste.txt"

E cliquei no botão...BINGO !!! nome alterado com sucesso ! legal.png

Adapte ao seu código o exemplo acima e veja se funciona aí também, beleza ?!

FUIII !!! sml13.gif

Ô meu amigo eu agradeço muito seu esforço.

Dessa vez eu dei um CTRL+C e CTRL+V no seu código e fiz todas as text e commands necessários. na hora de executar o código, coloquei o nome original do arquivo na t_Antigo.Text e o novo nome na txt_Novo.Text como manda seu código e pra mim continua retornando o mesmo erro: Run-time error '53': File not found

e quando clico em debug ele destaca justamente a linha Name nAnt As nNovo.

O caso é que eu tenho certeza que o arquivo está lá.

Será que é meu sistema operacional? Estou usando o win7 Ult.

Link to comment
Share on other sites

  • 0
continua retornando o mesmo erro: Run-time error '53': File not found

esse erro estava acontecendo no primeiro codigo tb?? você tem mesmo certeza q esse arquivo c:\users\sergio\Desktop\teste.txt existe nesse caminho mesmo??

tente pegar esse valor retornado pelo Environ("userprofile") & ("\Desktop\teste.txt") e digite na barra de enderecos do explorer pra ver se o windows encontra.

ou passe-o pra funcao Dir() no visual basic, pra ver se tem algum retorno.

ou talvez o arquivo esteja no Desktop de All Users e não no desse usuarios especifico.

Edited by kuroi
Link to comment
Share on other sites

  • 0

Cara...testei no Win7 Ultimate e foi de boa...

concordo com o Kuroi, será se realmente este arquivo está em seu usuário ou no Desktop de "All Users" ???

Outra possibilidade...o formato do arquivo é realmente txt ??? foi você mesmo que criou ??? só para lembrar...

outro dia teclando com um amigo, ele estava querendo "excluir" um arquivo no formato ".log", só que ele colocava ".txt"... aí não dá... :D

Seguinte...

Criei um aplicativo aqui para renomear...ele abre a busca no Desktop...testa aí no seu PC...

download: AppRenamer

Edited by Danleonhart
Link to comment
Share on other sites

  • 0

Caras, eu vascilei...

Não estou acreditando até agora.

O problema é que logo após ter formatado esta máquina que estou usando o vb eu havia mudado o local das pastas de usuários para a D: no registro do win. Isso já alguns meses. Quando vocês argumentaram sobre a localização do arquivo executei um . (ponto final) e ele realmente me levou para minha pasta de usuário real. Justo a que NÃO TEM O ARQUIVO!!! Criei um neste local e bingo. O código funciona. Pesso mil desculpas pelo vascilo que eu dei.

Agora, isso que vou escrever aqui não é puxasaquismo não, mas vocês são feras. Acho que eu nunca tive uma ajuda tão eficaz igual a de vocês. Brigadão mesmo.

Link to comment
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
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  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.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...