我有一个包含 27 列的工作表,第一行是列标题,它们是 AZ 和 NUM,共 27 列。每列都有一个非常长的受限 url 列表,按列的字母排序,最后(第 27 列)用于以数字开头的 url。列的长度在 300-60 万个单元格之间。
我所追求的是将每一列复制到单独文件夹下的单独文本文件(*.file)中,即将A列复制并保存到c:/blacklist/A/a.file,依此类推,因此我们获取 c:/blacklist/B/b.file 一直到 c:/blacklist/NUM/num.file。
我一直在寻找解决方案,并在以下位置找到了以下 VBA 脚本,它与我所追求的非常接近:http ://www.ozgrid.com/forum/showthread.php?t=142181
Option Explicit
Public Sub Columns_2_TextFile()
Const My_Path = "C:\TEXTFILES\"
Dim iCol As Integer
Dim lRow As Long
Dim File_Num As Long
On Error Resume Next
If Trim(Dir(My_Path, vbDirectory)) = "" Then
MkDir My_Path
Else
Kill My_Path & "*.txt"
End If
On Error Goto 0
File_Num = FreeFile
With ActiveSheet
For iCol = 2 To 256
Open My_Path & Trim(.Cells(2, iCol).Value) & ".txt" For Output As #File_Num
For lRow = 3 To .Cells(Rows.Count).End(xlUp).Row
Print #File_Num, .Cells(lRow, iCol).Value
Next
Close #File_Num
Next
End With
MsgBox "All files created and saved to : " & My_Path
End Sub
这个脚本有两个问题:第一个是它不会在单独的文件夹下创建文本文件,而是在 ONE 文件夹下创建所有文件。第二个是当我尝试它时,它没有复制创建文件中的列内容,换句话说,文件是空的,内容为零。