【发布时间】:2014-07-24 05:35:09
【问题描述】:
我在使用 VBA 中将某些列保存到文本文件的函数时遇到问题。 它只保存 B 列的值,并忽略另一个 for 循环,其中我在 C 列的值中循环。我尝试添加直接写入文件 - > objTextStream.writeline ("COPY THIS STRING") 只是为了查看问题出在哪里,但仍然 COPY THIS STRING 仍未保存在文本文件中。
似乎是什么问题。在此先感谢各位。
Sub SaveToTxt(toRange As Integer)
Dim MyRange As Range
Dim MyRange2 As Range
Dim objFileSyatem As Object, objTextStream As Object
Dim cell As Range
Set MyRange = ActiveSheet.Range _
("B1:B" + CStr(toRange) & Cells(Rows.Count, 1).End(xlUp).Row)
Set MyRange2 = ActiveSheet.Range _
("C1:C" + CStr(toRange) & Cells(Rows.Count, 1).End(xlUp).Row)
'create filesystem and textstream objects, the name of the .txt file
'is one of parameters of CreateTextFile method
Set objFileSyatem = CreateObject( _
"Scripting.FileSystemObject")
Set objTextStream = objFileSyatem.CreateTextFile( _
"C:\Users\wmeniola\work work work\Ranges deletion\test.txt", True)
'loop through all cells in MyRange and save contents as
'separate lines in newly created .txt file
For Each cell In MyRange.Cells
objTextStream.writeline (cell.Value)
Next
For Each cell In MyRange2.Cells
objTextStream.writeline (cell.Value)
Next
objTextStream.writeline ("COPY THIS STRING")
objTextStream.Close
End Sub
【问题讨论】:
-
首先我认为你应该写
objTextStream.writeline "COPY THIS STRING"不带()