将文本范围内的单元格保存为.txt文件

我需要将有效范围的文本保存到.txt文件。 范围是工作表中名为“报告”的列,行数取决于报告生成的行数。 该列F包含我们需要通过.txtfile upload到另一个系统的电子邮件地址。 在.txt文件中,每个地址将位于不同的行中,不带其他分隔符。 我有这样的代码,但它会始终将第一行留在文本文件中,从第二行开始。

Sub Macro_Newsletter() Dim c As Range Dim r As Range Dim output As String For Each r In Worksheets("Reports").Range("F2:F10000").Rows For Each c In r.Cells output = output & vbNewLine & c.Value Next c Next r Open "C:\Users\joseph.lin\Desktop\Database\Newsletter" For Output As #1 Print #1, output Close End Sub 

我只知道如何输出他们的前景。 请帮我弄清楚使用VBA。

提前致谢!

这将做的伎俩:

 Sub Macro_Newsletter() Dim wbText As Workbook Dim wsReports As Worksheet Set wbText = Workbooks.Add Set wsReports = ThisWorkbook.Worksheets("Reports") With wsReports Dim lRow As Long lRow = .Range("F" & .Rows.Count).End(xlUp).Row 'get last row of emails .Range("F2:F" & lRow).Copy wbText.Sheets(1).Range("A1") End With Application.DisplayAlerts = False 'turn off alerts so you don't see messages about compatibility and such With wbText .SaveAs Filename:="C:\Users\joseph.lin\Desktop\Database\Newsletter\Emails.txt", _ FileFormat:=xlText .Close False End With Application.DisplayAlerts = True End Sub 

您可以简单地logging一个macros(开发人员标签)并将其保存为csv或.txt文件 – 一旦您拥有了这个macros,您可以根据需要进行编辑。 如果您可以将其保存到Outlook,您应该能够将其保存到文本文档。

这是一个相当普遍的程序,应该在各种资源中详细logging。