Visual Basic 6  - Salvando uma planilha Excel como Texto


 Neste artigo vou mostrar como podemos abrir uma planilha Excel salvando-a em seguida como um arquivo texto usando a linguagem Visual Basic 6.

Após muito tempo, vamos usar o velho e bom Visual Basic 6 para realizar uma tarefa básica: salvar uma planilha Excel como texto.

Para este exemplo eu estou usando o Microsoft Excel 2007 e a linguagem Visual Basic 6 atualizada com o último service pack.

Criando projeto no Visual Basic 6

Abra o Visual Basic 6 como administrador do sistema e selecione Standard EXE e clique em Abrir:

Clique no menu Project e a seguir em References...

Selecione a referência a Microsoft Excel 12.0 Object Library (Dependendo da versão do seu Excel instalado o nome pode ser outro)

Salve o projeto como ExcelTexto.vbp ou outro nome que desejar e  a partir da ToolBox inclua os seguintes controles no formulário Form1:

Disponha os controles conforme a figura abaixo:

Nosso objetivo será fornecer um nome de uma planilha Excel existente que será aberta e a seguir salvar a planilha com o nome do arquivo texto informado.  Após isso podemos exibir o resultado no projeto.

Agora no evento Click do botão de comando - Abrir planilha Excel e Salvar como arquivo Texto - inclua o código abaixo:

Private Sub cmdSalvarExcelTexto_Click()
On Error GoTo trataErro
    Call FormularioNormal
    Dim xl As New Excel.Application
    Dim xlw As Excel.Workbook
    'Abrir o arquivo do Excel
    Set xlw = xl.Workbooks.Open(txtExcel.Text)
    ' definir qual a planilha de trabalho
    xlw.Sheets("Plan1").Select
    'salva a planilha no formato TXT
    ActiveWorkbook.SaveAs txtArquivoTexto.Text, xlTextWindows   
    ' Fechar a planilha sem salvar alterações
    ' Para salvar mude False para True
    xlw.Close True
    ' Liberamos a memória
    Set xlw = Nothing
    Set xl = Nothing    
    MsgBox (" Arquivo Excel aberto e salvo Como TXT com sucesso ")   
    Exit Sub
trataErro:
    MsgBox Err.Description
End Sub

O código esta comentado e não requer mais explicações mas basicamente ele abre a planilha Excel a salva no formato texto.

Agora para exibir o conteúdo do arquivo texto gerado inclua o código a seguir no evento Click do botão de comando : Abrir arquivo texto Gerado

Private Sub cmdAbrirArquivoTexto_Click()
'define tamanho maior para o formulario
  Form1.Width = 12435
  Form1.Height = 6840
On Error GoTo Erro
'abre o arquivo texto para leitura
Open txtArquivoTexto.Text For Input As #1
Line Input #1, linha1
'lê e exibe a primeira linha
txtTexto.Text = txtTexto.Text & linha1 & vbCrLf
'inicia o laço Do Until lendo linha a linha do arquivo
Do Until EOF(1)
   Line Input #1, linha
   txtTexto.Text = txtTexto.Text & linha & vbCrLf
Loop
Close #1
Exit Sub
Erro:
     MsgBox ("Erro " & Err.Description)
End Sub

Temos também as seguintes rotinas usadas no projeto :

1- No evento Load chamamos a rotina FormularioNormal que define um tamanho para o form do projeto

Private Sub Form_Load()
   Call FormularioNormal
End Sub

Private Sub FormularioNormal()
   Form1.Width = 6510
   Form1.Height = 6840
End Sub

Executando o projeto e abrindo a seguinte planilha:

Iremos obter o resultado abaixo:

Simples e direto como o bom e velho Visual Basic 6 sabe fazer...

No Super DVD Visual Basic você encontra centenas de programas feito na linguagem VB6 com o código fonte aberto para estudo, adaptação, e utilização.

Se você deseja mais programas com código fonte aberto veja alguns dos mais de 100 projetos disponíveis no Super DVD .NET  aqui :  VB.NET/C#/ASP .NET - Aplicações para você aprender a programar

Faça o pedido do Super DVD .NET aqui  =>  Pedido do Super DVD .NET

Pegue o projeto completo do artigo aqui :   VB6_ExcelTexto.zip

Aquele que diz: Eu conheço-o (Jesus), e não guarda os seus mandamentos, é mentiroso, e nele não está a verdade.
1 João 2:4

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Referências:


José Carlos Macoratti