Экспортируйте текстовый файл, но продолжайте редактировать файл xlsx

Экспортируйте текстовый файл, но продолжайте редактировать файл xlsx

Я использую Excel для генерации текстовых файлов, которые затем анализируются как входные данные для базы данных. Я постоянно раздражаюсь, когда мне приходится сохранять файл xlsx как текстовый файл и закрывать Excel, потому что теперь я редактирую текстовый файл в Excel. Есть ли способ, который я просто не вижу, чтобы сгенерировать текстовый файл, но оставить файл xlsx открытым в Excel?

решение1

Для этого вам понадобится макрос VBA, который может выглядеть следующим образом:

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

Вы можете изменить подпрограмму по своему усмотрению, возможно, добавив "euth.csv" в качестве параметра или запросив его. Если в таблице только один столбец, этот код можно значительно упростить.

Объяснение использованных выше команд см. в статье Запись в текстовые файлы в Excel VBA/

Связанный контент