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

(Resolvido) Localizando documento e abrindo


FabianoCRZ

Pergunta

Caros amigos :

Peço mais uma vez a ajuda de vocês no seguinte :

Tenho em um computador vários documentos com extensão *.doc (Word) númerados de 1 em diante ( Ex: H:\Documentos\1.doc )

Criei para fazer um teste uma userform, uma textbox e um botão. O que eu gostaria de fazer é o seguinte :

Quando eu digitar o número do documento na textbox1 e clicar no botão gostaria que fosse aberto o documento correspondente. Ex: textbox1=40 ao clicar no botão será aberto o documento 40.doc

Como faço isso?

Mais uma vez muito obrigado!

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0
Tente isso:

Private Sub CommandButton1_Click()
    Dim i As Integer
    i = Val(TextBox1.Text)
    Documents.Open ("C:\teste\doc" & i & ".docx")
    Unload Me
End Sub

Olá amigo Renato : Obrigado pela atenção que você deu ao meu tópico.

Fiz o que você pediu: dei o caminho onde está o documento "C:\RNC" mas está dando o seguinte erro : "Erro de tempo de execução 424 - O objeto é obrigatório"

O que será que está errado?

Muito obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

Levou em consideração que usei extensão docx? Como uso Office 2007 essa é a nova extensão de arquivos Word, caso você use o Office 2003 mude para isso:

Private Sub CommandButton1_Click()
    Dim i As Integer
    i = Val(TextBox1.Text)
    Documents.Open ("C:\teste\nome_do_documento" & i & ".doc")
    Unload Me
End Sub

Link para o comentário
Compartilhar em outros sites

  • 0
Levou em consideração que usei extensão docx? Como uso Office 2007 essa é a nova extensão de arquivos Word, caso você use o Office 2003 mude para isso:

Private Sub CommandButton1_Click()
    Dim i As Integer
    i = Val(TextBox1.Text)
    Documents.Open ("C:\teste\nome_do_documento" & i & ".doc")
    Unload Me
End Sub

Caro amigo Renato:

Na primeira vez que usei a rotina que você postou, observei que realmente a extensão estava diferente do normal, dai eu mudei para *.doc mas mesmo assim continuou aparecendo o erro.

O erro aparece na linha : Documents.Open ("C:\teste\nome_do_documento" & i & ".doc")

Erro em tempo de execução '424':

O objeto é obrigatório

Mais uma vez muito obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

Você entendeu o código? Eu usei um path apropriado no meu computador, eu levei em consideração que os meus documentos estão na pasta C:\Teste. E também levei em consideração que o nome dos meus documentos são:

C:\Teste\nome_do_documento1.doc

C:\Teste\nome_do_documento2.doc

C:\Teste\nome_do_documento3.doc

C:\Teste\nome_do_documento4.doc

C:\Teste\nome_do_documento5.doc

Onde nome_do_documento.doc é de fato o nome no arquivo, se o nome do SEU arquivo for 1.doc você deve ADAPTAR o código para SEU uso, entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0
Você entendeu o código? Eu usei um path apropriado no meu computador, eu levei em consideração que os meus documentos estão na pasta C:\Teste. E também levei em consideração que o nome dos meus documentos são:

C:\Teste\nome_do_documento1.doc

C:\Teste\nome_do_documento2.doc

C:\Teste\nome_do_documento3.doc

C:\Teste\nome_do_documento4.doc

C:\Teste\nome_do_documento5.doc

Onde nome_do_documento.doc é de fato o nome no arquivo, se o nome do SEU arquivo for 1.doc você deve ADAPTAR o código para SEU uso, entendeu?

E ai meu amigo Renato:

Eu entendi sim o código e fiz as seguintes alterações :

Private Sub CommandButton1_Click()

Dim i As Integer

i = Val(TextBox1.Text)

Documents.Open ("C:\RNC\RNC" & i & ".doc")

Unload Me

End Sub

Tenho uma pasta na partição C:\ que se chama RNC ( letras maiúsculas) e dentro desta pasta tenho 40 arquivos com os nomes RNC01.doc / RNC02.doc etc...

O que entendi do código é que tenho que fornecer na programação o caminho e o nome dos arquivos, no meu caso C:\RNC\RNC e o valor que eu escrever na textbox1( i ) será concatenado com o nome do arquivo, ou seja, C:\RNC\RNC + valor da textbox1 ( 01 ) + extensão = C:\RNC\RNC01.doc

O que fiz foi a modificação que você pode ver acima, mas está dando o erro que comentei nos posts anteriores.

Mais uma vez te agradeço pela pasciencia meu amigo. Valeu

Link para o comentário
Compartilhar em outros sites

  • 0

Não testei aqui, mas vendo pode-se ver o seguinte:

RNC01.doc

Não estou certo, mas acho que o VB despreza os zero a esquerda do número, portanto quando você manda abrir ele está abrindo o documento:

RNC1.doc

Tente renomear e teste novamente.

Link para o comentário
Compartilhar em outros sites

  • 0
Não testei aqui, mas vendo pode-se ver o seguinte:

RNC01.doc

Não estou certo, mas acho que o VB despreza os zero a esquerda do número, portanto quando você manda abrir ele está abrindo o documento:

RNC1.doc

Tente renomear e teste novamente.

Amigo Renato:

Sei que você deve estar de saco cheio com esse meu tópico rsrsrsrs mas não sei o que está ocorrendo. Fiz tudo certinho, da forma que você disse, mas a mensagem de erro ainda perciste.

Não sei o que pode estar ocorrendo, se você puder fazer o teste ai da sub rotina você verá o erro que está ocorrendo.

Mais uma vez muito obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

Não estou de "saco cheio" não, quem gosta do que faz nunca fica de "saco cheio". :)

Não sei o que pode estar ocorrendo, se você puder fazer o teste ai da sub rotina você verá o erro que está ocorrendo.

Foi a primeira coisa que fiz antes de postar a resposta, já testei aqui no meu computador e funcionou.

Poste aqui o código que você está usando.

Link para o comentário
Compartilhar em outros sites

  • 0
Não estou de "saco cheio" não, quem gosta do que faz nunca fica de "saco cheio". :)

Não sei o que pode estar ocorrendo, se você puder fazer o teste ai da sub rotina você verá o erro que está ocorrendo.

Foi a primeira coisa que fiz antes de postar a resposta, já testei aqui no meu computador e funcionou.

Poste aqui o código que você está usando.

Como vai amigo Renato:

Também concordo com você, quando gostamos daquilo que fazemos temos satisfação em estar envolvidos com o assunto.

O código que estou usando é o seguinte :

Private Sub CommandButton1_Click()
    Dim i As Integer
    i = Val(TextBox1.Text)
    Documents.Open ("C:\RNC\RNC" & i & ".doc")
    Unload Me
End Sub

Renato onde eu coloco o caminho do documento é necessário também colocar o nome do arquivo?

Os meus documentos tem o mesmo nome, só muda o número sequêncial (ex: RNC1.doc, RNC2.doc, RNC3.doc...etc) esses documentos estão dentro de uma pasta chamada RNC. O caminho para os meus documentos então é C:\RNC e dentro dessa pasta estão os arquivos.

Para fazer o teste da sub rotina que você postol eu criei uma userform e coloquei uma textbox e um botão e fiz as alterações conforme código acima.

A alteração que fiz está correta? é necessário somente colocar o nome da pasta e o nome do documento eu digito na textbox, ou tenho que colocar o nome da pasta e o nome comum dos documentos e na textbox eu digito o número do sequêncial?

Fiz vários testes mas não obtive exito.

Mais uma vez lhe agradeço! Valeu

Link para o comentário
Compartilhar em outros sites

  • 0
é necessário somente colocar o nome da pasta e o nome do documento eu digito na textbox, ou tenho que colocar o nome da pasta e o nome comum dos documentos e na textbox eu digito o número do sequêncial?

Você só precisa colocar o número do documento na textbox, nada de letras, senão dará erro:

1

2

3

4

5

O caminho e o nome do documento já estão no código, talvez seja esse seu erro.

Link para o comentário
Compartilhar em outros sites

  • 0
é necessário somente colocar o nome da pasta e o nome do documento eu digito na textbox, ou tenho que colocar o nome da pasta e o nome comum dos documentos e na textbox eu digito o número do sequêncial?

Você só precisa colocar o número do documento na textbox, nada de letras, senão dará erro:

1

2

3

4

5

O caminho e o nome do documento já estão no código, talvez seja esse seu erro.

Meu amigo Renato, eu nem sei mais lhe dizer os testes que já fiz para ver se a sub rotina de certo.

O erro não é o conteúdo que estou digitando na textbox, pois estou digitando somente o número que será concatenado com o nome do arquivo já existente no código.

Renato, será que não preciso ativar alguma configuração do excel ou do , ou habilitar alguma coisa em Referências no VBA para que a sub funcione corretamente?

Pois já fiz de tudo para que dê certo mas não dá nem a pau, fica dando a mensagem que sitei acima.

Mais uma vez obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

Caro amigo Renato :

Descobri o que está ocorrendo. Estou usando o Office 2000 e acho que esta versão do VBA não tem o comando Documents, pois fiz a seguinte mudança só para testar :

Private Sub CommandButton1_Click()
    Dim i As Integer
    i = Val(TextBox1.Text)
    Workbooks.Open ("C:\RNC\RNC" & i & ".xls")
    Unload Me
End Sub

Como você pode ver, no lugar de Documents coloquei Workbooks e troquei a extensão do arquivo de .doc para .xls, coloquei um arquivo com a extensão .xls dentro da pasta C:\RNC e o arquivo foi encontrado e aberto.

Mas quando eu troco novamente o Workbooks por Documents e coloco a extensão .doc dá um erro e não executa a linha de comando.

Existe alguma configuração no VBA para que ele aceite o comando Documents?

Também gostaria de fazer uma observação que não havia feito, estou usando o Excel e não o Word.

Mais uma vez muito obrigado pela sua ajuda!!!

Editado por FabianoCRZ
Link para o comentário
Compartilhar em outros sites

  • 0

Caros amigos que leram este tópico e que também tinham a mesma dúvida que eu. Caro amigo Renato que com muita pasciencia tem me ajudado com minhas dúvidas. Postei este tópico no fórum da Microsoft e um amigo chamado Luiz Cláudio me ajudou com a solução da minha dúvida e estou compartilhando com vocês. Lembrando que essa sub rotina é para ser usada no VBA do Excel:

Private Sub CommandButton1_Click()
Dim WApp As Object
Set WApp = CreateObject("Word.Application")
WApp.Documents.Open ("D:\" & TextBox1.Text & ".doc")
WApp.Visible = True
End Sub

Para usar essa sub rotina, basta criar uma userform, uma textbox e um botão. Cole essa sub rotina como código do botão, rode a sub e escreva na textbox o nome do documento que você deseja que abra e pronto o documento com extensão *.doc será aberto.

Agradeço ao Renato pela pasciência e a todos que participam desse fórum!!!

Valeu!

Editado por FabianoCRZ
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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...