【发布时间】:2014-06-16 21:24:44
【问题描述】:
我在 Excel 中有一个包含 450 行左右的源电子表格。每行有 6 列数据,我需要从每一行创建一个单独的文件,文件名 = A 列,内容 = B-G 列,它们之间有一个换行符。
例如,我正在尝试此操作,但收到错误“找不到文件”:
Sub DataDump()
Dim X
Dim lngRow As Long
Dim StrFolder As String
StrFolder = "/Users/danielfowler/Documents/_users_text_6.16"
X = Range([a1], Cells(Rows.Count, 2).End(xlUp))
For lngRow = 1 To UBound(X)
Open StrFolder & "\" & X(lngRow, 1) & ".txt" For Output As #1
Write #1, X(lngRow, 2)
Close #1
Next
End Sub
我在 StackOverflow 上已经看到了六个这样的问题...
- Create text Files from every row in an Excel spreadsheet
- Write each Excel row to new .txt file with ColumnA as file name
- Outputting Excel rows to a series of text files with spaces in filenames using VBA
- Outputting Excel rows to a series of text files
但是这些解决方案中的每一个都会为我返回不同的错误。我正在使用 Excel for Mac 2011,v14.4.2。
【问题讨论】:
-
Brett 在您最后一个链接问题中的回答应该可以在 Mac 上运行。 FilesystemObject 仅适用于 Windows。
-
插入文件路径后出现“找不到路径”错误。
-
@TimWilliams 也许我只是不知道如何在 Mac 上使用文件路径...我输入了
StrFolder = "/Users/danielfowler/Documents/"但无济于事。我还尝试了 /Volumes/Macintosh HD/... 并使所有正斜杠反斜杠。我现在得到的错误是“找不到文件” -
检查
Application.PathSeparator- 在 Mac 上这是:vs 在 Windows 上是 `\` -
@TimWilliams 结果相同。
标签: vba excel excel-2011