Ir para conteúdo
Fórum Script Brasil
  • 0

Renomear arquivo da pasta %userprofile% no vb6


serginho450

Pergunta

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 para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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

Editado por Danleonhart
Link para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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.

Editado por kuroi
Link para o comentário
Compartilhar em outros 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

Editado por Danleonhart
Link para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...