导出文本文件但继续编辑 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 中写入文本文件/

相关内容