删除文本文件末尾的空白行

我已经写了一个子例程,它将Excel工作表中的数据转换为文本文件并保存,但是在文本文件的末尾留下了很多空行。 由于每次运行该选项卡时可能会采用不同数量的数据,因此我认为这是导致此问题的原因,但是我不能看到有多less数据需要处理才能更改。 有没有办法,使用VBA删除文本文件末尾的空行(空白)或更好的方法,所以它不会创build空的行呢? 我已经做了一些search,我无法find使用VBA的主题。 请帮忙 ?!

'Selects appropriate worksheet - Non-MyPayFINAL Sheets("Non-MyPay FINAL").Select 'Selects all data in column A and copies to clipboard Range("A1", Range("A1").End(xlDown)).Select Selection.Copy 'Add a new workbook Workbooks.Add 'Paste selected values from previous sheet Selection.PasteSpecial Paste:=xlPasteValues 'Build SaveAs file name (for CSV file) MySaveFile = Format(Now(), "DDMMYYYY") & "NonMyPayFINAL" & ".CSV" 'Save template file as...(for CSV file) ActiveWorkbook.SaveAs ("S:\MERIT OUTPUTS FOLDER\MSI Recruitment Limited\" & MySaveFile), FileFormat:=xlCSV 'Build SaveAs file name (for Txt file) MySaveFile = Format(Now(), "DDMMYYYY") & "NonMyPayFINAL" & ".Txt" 'Save template file as...(for Txt file) ActiveWorkbook.SaveAs ("S:\MERIT OUTPUTS FOLDER\MSI Recruitment Limited\" & MySaveFile), FileFormat:=xlTextWindows 

我更新了代码的部分,它复制并创build了我认为是问题所在的文本文件。 任何帮助,将不胜感激。

我发现下面的代码,通过允许我添加文本到一个txt文件的末尾很长的路,同样可以用来删除文本以及道歉,如果这看起来很简单,但我还没有得到挂起这个呢。

  Sub TextFile_Create() 'PURPOSE: Add More Text To The End Of A Text File Dim TextFile As Integer Dim FilePath As String 'What is the file path and name for the new text file? FilePath = "S:\MERIT OUTPUTS FOLDER\MSI Recruitment Limited\11072017MyPayFINAL.txt" 'Determine the next file number available for use by the FileOpen function TextFile = FreeFile 'Open the text file Open FilePath For Append As TextFile 'Write some lines of text Print #TextFile, "Sincerely," Print #TextFile, "" Print #TextFile, "Chris" 'Save & Close Text File Close TextFile End Sub 

1.从文本行末尾删除“空格”的可靠和基本的方法:

对于你的文本文件的每一行:读入string,得到最后一个字符,如果是“空白”则删除; 重复,直到它不再是空白,写入新文件的行

2.删除现有function的空白

如果你没有其他的空白,你可以使用“replace”function, 这里的文档。 只需用“”replace空白(例如“”)。 对于只删除前导和/或尾随空白使用trimfunction。

3.写入文件之前parsing(推荐):

在将其写入文件之前,使用上述方法之一检查输出。

只要小心你实际想要删除的字符。 如果有疑问,请在编辑器中查看您创build的文本文件,以便显示所有字符。

更新

如果你想写特定的数据,而不是整张纸,你需要相应地调整你的脚本。 这个回答将给你一个如何写入特定数据到文件的好开始。 结合上面提到的function,你应该好好去。

第二次更新

要从string中删除前导和/或尾随空格,可以使用上述的trimfunction。 这里是示例和文档 。