none
DÚVIDA SOBRE A SUB DE DELETAR CARACTER RRS feed

  • Pergunta

  • Olá meus caros amigos, espero que tenham tido um final de semana tranquilo!!!

     

    Postei um tópico em que os grandes amigos Evangelista, Caio e o Ari me ajudaram e muito. Fiz as mudanças conforme a idéia do Ari e usei a sub que o irmão Evangelista postol:

     

    Code Snippet

    Private Sub CommandButton1_Click()
        With Application.FileDialog(msoFileDialogOpen)
            .Show
            TextBox1 = .SelectedItems(1)
        End With
    End Sub

     

    A sub funcionou perfeitamente, ou seja, ao clicar no botão a caixa de escolha de arquivo ( a janela "Browse For Folder") se abre.

     

    Usei para isso o Excel 2003, mas quando fui rodar a sub em outro computador usando Excel 2000 a sub não funcionava. Não dá erro nenhum a sub até roda mas  a janela "Browse For Folder" não abre.

     

    A minha dúvida é a seguinte: devo habilitar alguma coisa no VBA para a sub funcionar???

     

    Muito obrigado e fiquem com Deus!!!

    segunda-feira, 22 de setembro de 2008 10:21

Respostas

  • Olá Braz,

     

    A Application.FileDialog só passou a existir no Excel 2002, então não vai funcionar no Excel 2000 mesmo...

     

    Uma alternativa, seria utilizar a função Application.GetOpenFileName, que aí sim, existe no Excel 2000:

     

    Code Snippet

     

        Dim nomeDoArquivo As Variant
        nomeDoArquivo = Application.GetOpenFilename("Todos os arquivos (*.*), *.*")
       
        'Verifica se o usuário selecionou algum arquivo...
        If nomeDoArquivo <> False Then
            TextBox1 = nomeDoArquivo
        End If

     

     

    Abraços,

    Caio Proiete




    Caio Proiete
    http://www.caioproiete.com
    segunda-feira, 22 de setembro de 2008 10:52

Todas as Respostas

  • Olá Braz,

     

    A Application.FileDialog só passou a existir no Excel 2002, então não vai funcionar no Excel 2000 mesmo...

     

    Uma alternativa, seria utilizar a função Application.GetOpenFileName, que aí sim, existe no Excel 2000:

     

    Code Snippet

     

        Dim nomeDoArquivo As Variant
        nomeDoArquivo = Application.GetOpenFilename("Todos os arquivos (*.*), *.*")
       
        'Verifica se o usuário selecionou algum arquivo...
        If nomeDoArquivo <> False Then
            TextBox1 = nomeDoArquivo
        End If

     

     

    Abraços,

    Caio Proiete




    Caio Proiete
    http://www.caioproiete.com
    segunda-feira, 22 de setembro de 2008 10:52
  • Olha não sei não viu, mas acho que tem uma galera aqui que é parente do Bill Gates rsrsrsrsrsrsrsr

     

    O nosso grande amigo Evangelista Lion tenho certeza que é sobrinho do homem rsrsrsrsrsrsr

     

    Agora vem o Caio que acho que é primo do Evangelista que deve ser afilhado do Bill kkkkkk

     

    Brincadeiras a parte, valeu Caio pela sua ajuda...realmente com a sub que você postol agora sim funcionou no Excel 2000.

     

    Só me fala uma coisa, se eu rodar essa sub que funciona no Excel 2000 no Excel 2003 ela vai funcionar?

     

     

    Valeu...muito obrigado!!!

     

    segunda-feira, 22 de setembro de 2008 15:20
  • Olha que eu não me importaria de ser parente do Tio Bill Smile Smile Smile

     

     

    Sobre sua dúvida, o método Application.GetOpenFilename vai funcionar tanto no Excel 2000 quanto no Excel 2003 sim. A função foi mantida para continuar a compatibilidade...

     

    Abraços,
    Caio Proiete




    Caio Proiete
    http://www.caioproiete.com
    segunda-feira, 22 de setembro de 2008 15:49
  • E ai Caio blz? Cheguei na minha casa, após um dia de trabalho e testei a sub que vc postol e realmente ela funcionou legal no Excel 2003.

    Essa sub eu usei em um relatório de dimensional de peças, a sub que vc postol fez parte de uma grande rotina que transforma um arquivo RTF em arquivo TXT que depois é importado para uma planilha do Excel que será lançado em um padrão de relatório da empresa em que trabalho.

    O relatório em RTF é gerado em um equipamento de medição tridimensional, só que esse relatório sai no formato que o software (PC-DMIS) gera, então a sub pega todas as dimensões medidas e elabora um relatório no formato da empresa em que trabalho (Amsted-Maxion).

    A sub que vc postol irá fazer com que o operador do equipamento escolha o relatório que ele quer que seja convertido em TXT e elabore o relatório.

    ufaaaa


    Valeu meu amigo...muito obrigado pela sua ajuda!!! Fique com Deus!!!
    segunda-feira, 22 de setembro de 2008 21:01
  • Uau! Muito bacana!

     

    Só por curiosidade:

     

    - Qual o tamanho do arquivo RTF, mais ou menos?

    - Quanto tempo, em média, leva para gerar esse relatório?

     

    Abraços,
    Caio Proiete




    Caio Proiete
    http://www.caioproiete.com
    segunda-feira, 22 de setembro de 2008 22:46
  • E ai Caio blz?

    O arquivo RTF tem em média 2mb , são 120 medidas que a rotina busca, o tempo para converter o arquivo RTF em txt é menos de 5 segundos, é muito rápido. A elaboração do relatório também é muito rápido, o tempo total é de mais ou menos 10 segundos. O legal dessa rotina é que para cada relatório cabem 5 peças, quando é preenchido a última coluna com a última peça aparece uma mensagem dizendo que o limite máximo de peças e se o operador deseja criar um arquivo novo, se ele clicar em sim a rotina salva o arquivo atual e abre uma janela para o operador digitar um nome para o novo relatório e ao clicar em salvar a sub pega o caminho do arquivo atual (ex:C:\Relatórios\) e salva o novo arquivo com o nome que ele informou dentro da textbox.

    Toda essa rotina está em um único botão no relatório da Amsted-Maxion.

    Se vc quiser eu te mando o relatório com a rotina e um relatório em RTF para vc ver como funciona. Meu e-mail é fbafv@hotmail.com

    Um grande abraço!!!
    segunda-feira, 22 de setembro de 2008 23:44