我正在制作一个包含2列数据customer
,product
的电子表格,我创建了一个宏来将列表分成每个产品的单个表单,这些表格就像一个梦想。现在,我想为每个工作表创建一个文本(MS-DOS).txt
文件,并将它们保存在特定位置。
在此之后不确定需要哪些信息,因为创建的工作表只有1列,而客户名称是以产品命名的工作表。
答案 0 :(得分:1)
这应该让你去。它为工作簿中的每个工作表创建一个新的.txt文件,保存到与工作簿本身相同的目录中。
如果您遇到任何问题,请告诉我。
Sub TextFileExport()
Dim rngCell As Range
Dim shtWorkSheet As Worksheet
Dim i As Integer
Dim strFilename As String 'text file filename
'specify output name here
strFilename = "OutputName"
'loop through worksheets
For Each shtWorkSheet In ThisWorkbook.Worksheets
'create new file name
i = i + 1
Open ThisWorkbook.Path & "\" & strFilename & "Sheet_" & i & ".txt" For Output As #1
'loop through cells
For Each rngCell In shtWorkSheet.UsedRange
If rngCell.Text <> "" Then
'print the line
Print #1, rngCell.Text
End If
Next rngCell
'close so can reopen next one
Close #1
Next shtWorkSheet
End Sub
答案 1 :(得分:0)
请遵循此解决方案:
File
&gt; Export
&gt; Change File Type
&gt; Text (Tab delimited)(*.txt)
我认为,当你不需要任何超过这个功能时,你不需要重新创建轮子;)。
我认为您需要使用此声明:
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Sheets
ws.Activate
ActiveWorkbook.SaveAs Filename:="C:\" + ws.Name + ".txt", _
FileFormat:=xlText, CreateBackup:=False
Next