我使用 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 中寫入文字文件/