Я использую 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/