我需要帮助的所谓的“工作表”的excel电子表格制作,从各行单独的文本文件。 我希望文本文件,列A的含量来命名,与列BG是内容,最好用在文本文件中的每一列之间的双硬回车,所以每列将在它们之间的空行。
这可能吗? 我将如何去了解它。 谢谢!
我需要帮助的所谓的“工作表”的excel电子表格制作,从各行单独的文本文件。 我希望文本文件,列A的含量来命名,与列BG是内容,最好用在文本文件中的每一列之间的双硬回车,所以每列将在它们之间的空行。
这可能吗? 我将如何去了解它。 谢谢!
@ nutsch的回答是完全正常的,并应工作时间99.9%。 在个别情况下,FSO不可用,下面是不具有相关性的版本。 由于是,它需要的是源工作表中没有的内容部分的任何空白行。
Sub SaveRowsAsCSV()
Dim wb As Excel.Workbook, wbNew As Excel.Workbook
Dim wsSource As Excel.Worksheet, wsTemp As Excel.Worksheet
Dim r As Long, c As Long
Set wsSource = ThisWorkbook.Worksheets("worksheet")
Application.DisplayAlerts = False 'will overwrite existing files without asking
r = 1
Do Until Len(Trim(wsSource.Cells(r, 1).Value)) = 0
ThisWorkbook.Worksheets.Add ThisWorkbook.Worksheets(1)
Set wsTemp = ThisWorkbook.Worksheets(1)
For c = 2 To 7
wsTemp.Cells((c - 1) * 2 - 1, 1).Value = wsSource.Cells(r, c).Value
Next c
wsTemp.Move
Set wbNew = ActiveWorkbook
Set wsTemp = wbNew.Worksheets(1)
'wbNew.SaveAs wsSource.Cells(r, 1).Value & ".csv", xlCSV 'old way
wbNew.SaveAs "textfile" & r & ".csv", xlCSV 'new way
'you can try other file formats listed at http://msdn.microsoft.com/en-us/library/office/aa194915(v=office.10).aspx
wbNew.Close
ThisWorkbook.Activate
r = r + 1
Loop
Application.DisplayAlerts = True
End Sub
所附的VBA宏将做到这一点,节省在C txt文件:\ TEMP \
Sub WriteTotxt()
Const forReading = 1, forAppending = 3, fsoForWriting = 2
Dim fs, objTextStream, sText As String
Dim lLastRow As Long, lRowLoop As Long, lLastCol As Long, lColLoop As Long
lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
For lRowLoop = 1 To lLastRow
Set fs = CreateObject("Scripting.FileSystemObject")
Set objTextStream = fs.opentextfile("c:\temp\" & Cells(lRowLoop, 1) & ".txt", fsoForWriting, True)
sText = ""
For lColLoop = 1 To 7
sText = sText & Cells(lRowLoop, lColLoop) & Chr(10) & Chr(10)
Next lColLoop
objTextStream.writeline (Left(sText, Len(sText) - 1))
objTextStream.Close
Set objTextStream = Nothing
Set fs = Nothing
Next lRowLoop
End Sub
对于其他人的利益,我整理问题出来了。 我换成 “CHR(10)CHR(10)” 改为 “CHR(13)CHR(10)”,它完美地工作。
我用简单的代码如下现在救了我的excel行作为一个文本文件或许多其他格式相当长的一段时间,它一直为我工作。
子savemyrowsastext()
昏暗的X
对于每一个小区在Sheet1.Range( “A1:A” &Sheet1.UsedRange.Rows.Count)
“你可以将工作表Sheet1改变自己的选择
SAVETEXT = cell.Text
打开 “C:\瓦帕\ WWW \ GeoPC_NG \ sogistate \ igala_land \” &SAVETEXT& “.PHP” 以便输出为#1
印刷#1,cell.Offset(0,1)。文本
关闭#1
对于x = 1至3个“循环3次。
蜂鸣“声音提示音。
下一个x
下一个单元格
结束小组
注意:
1.柱A1 =文件标题
2.柱B1 =内容文件
3.直到包含文字最后一行(即空行)
按相反的顺序,如果你想让它像这样;
1.柱A1 =文件标题
2.柱A2 =文件内容
3.待包含文本(即空行)的最后一排,只是改变打印#1,cell.Offset(0,1)。文本 打印#1,cell.Offset(1,0)。文本
我的文件夹位置= C:\ WAMP \ WWW \ GeoPC_NG \ kogistate \ igala_land \
我的文件扩展名= .PHP,您可以将扩展名更改自己的选择文件(.txt,热媒及的.csv等),我包括在每个省要知道,如果我的工作是怎么回事结束BIP声音
昏暗的X
对于x = 1至3个“循环3次。
蜂鸣“声音提示音。