Exporte um arquivo de texto, mas continue editando o arquivo xlsx

Exporte um arquivo de texto, mas continue editando o arquivo xlsx

Eu uso o Excel para gerar arquivos de texto que são analisados ​​como entrada em um banco de dados. Fico constantemente irritado quando tenho que salvar o arquivo xlsx como um arquivo de texto e fechar o Excel porque agora estou editando o arquivo de texto no Excel. Existe uma maneira que eu simplesmente não estou vendo de gerar o arquivo texto, mas manter o arquivo xlsx aberto no excel?

Responder1

Você precisará de uma macro VBA para isso, que pode ser assim:

Sub WriteTextFile()
  Dim FilePath As String
  Dim CellData As String
  Dim LastCol As Long
  Dim LastRow As Long

  LastCol = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
  LastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
  CellData = ""

  FilePath = Application.DefaultFilePath & "\euth.csv"

  Open FilePath For Output As #2

  For i = 1 To LastRow
    For j = 1 To LastCol

      If j = LastCol Then
        CellData = CellData + TrimtActiveCell(i, j).Value)
      Else
        CellData = CellData + TrimtActiveCell(i, j).Value) + ","
      End If

      Next j

      Write #2, CellData
      CellData = ""
    Next i

    Close #2

    MsgBox ("Done")
End Sub

Você pode modificar a sub-rotina como desejar, talvez adicionando "euth.csv" como parâmetro ou solicitando-a. Se a planilha tiver apenas uma coluna, esse código pode ser simplificado consideravelmente.

Para explicação dos comandos usados ​​acima, consulte o artigo Escrevendo em arquivos de texto no Excel VBA/

informação relacionada