Ton*_*ore 24
这是你想要的吗?
Option Explicit
Sub WriteFile()
Dim ColNum As Integer
Dim Line As String
Dim LineValues() As Variant
Dim OutputFileNum As Integer
Dim PathName As String
Dim RowNum As Integer
Dim SheetValues() As Variant
PathName = Application.ActiveWorkbook.Path
OutputFileNum = FreeFile
Open PathName & "\Test.csv" For Output Lock Write As #OutputFileNum
Print #OutputFileNum, "Field1" & "," & "Field2"
SheetValues = Sheets("Sheet1").Range("A1:H9").Value
ReDim LineValues(1 To 8)
For RowNum = 1 To 9
For ColNum = 1 To 8
LineValues(ColNum) = SheetValues(RowNum, ColNum)
Next
Line = Join(LineValues, ",")
Print #OutputFileNum, Line
Next
Close OutputFileNum
End Sub
Run Code Online (Sandbox Code Playgroud)
不要忘记你需要在包含逗号的任何字段周围加上引号.
use*_*264 10
托尼的答案通常有效,但不处理你的文字包含逗号或引号的情况.您可能更喜欢使用Workbook.SaveAs方法.
如果要将Sheet1的内容另存为单独的csv文件,以下是一个示例.
Sub create_csv()
Dim FileName As String
Dim PathName As String
Dim ws As Worksheet
Set ws = ActiveWorkbook.Sheets("Sheet1")
FileName = "filename.csv"
PathName = Application.ActiveWorkbook.Path
ws.Copy
ActiveWorkbook.SaveAs FileName:=PathName & "\" & FileName, _
FileFormat:=xlCSV, CreateBackup:=False
End Sub
Run Code Online (Sandbox Code Playgroud)
想象一下,您的Sheet1包含:
lorem ipsum
绝杀,mps"嗯"
输出csv文件将是:
LOREM,存有
"绝杀,M", "IPS", "嗯" ""