【发布时间】:2016-01-19 01:12:02
【问题描述】:
Dim fso As Scripting.FileSystemObject
Dim ts As Scripting.TextStream
Dim c As Range
Dim filename As Variant
Dim colcount As Integer
colcount = 2
Worksheets("ShipmentTracker(AL3)").Activate
filename = InputBox("Enter File Name", "file name", Worksheets("ShipmentTracker(AL3)").Cells(3, 2).Value)
Set fso = New Scripting.FileSystemObject
Set ts = fso.OpenTextFile("C:\Users\soora\Desktop\Meng Project\Shipment Tracker" & filename, ForAppending, True)
For Each c In Range("A9", Range("A9").End(xlDown))
For i = 1 To colcount
ts.Write c.Offset(0, i - 1).Value
If i < colcount Then ts.Write vbTab
Next i
ts.WriteLine
Next c
ts.Close
Set fso = Nothing
我将 filename 作为输入,并使用它来创建一个我想要写入数据的新文件。但这不起作用。
我想用用户输入 filename 创建文件并向其写入数据。
【问题讨论】:
-
为什么它不起作用?对我来说很明显的一件事是您没有在目录和文件名之间放置“\”。
-
另外,确保用户的输入文件名具有扩展名或将其包含在您的代码中:
.xlsx, .txt, .csv。