导出时,Excel VBA会在文本文件末尾添加额外的空白行

时间:2010-10-25 19:11:22

标签: excel vba text excel-vba

我有一个Excel VBA宏输出到文本文件。文本文件底部总是有一个空白行,我无法摆脱它。任何有用的建议将不胜感激!感谢

Sub testExport()

  Dim fPath As String, exportTxt As String
  fPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Sample_" & Format(Now(), "HHNNSS") & ".txt"

  exportTxt = "Project: Sample Output" & vbCrLf
  exportTxt = exportTxt & "Model Version: 1 "


  Open fPath For Append As #1    'write the new file
  Print #1, exportTxt
  Close #1

End Sub

3 个答案:

答案 0 :(得分:5)

Print #语句的帮助以及输出数据后指定charpos的方法:

  

charpos 指定下一个字符的插入点。用一个   用分号定位插入   在最后一个之后立即指出   字符显示。使用Tab(n)来   将插入点定位到   绝对列数。使用Tab键   没有参数来定位插入   指向下一个开头   打印区域。如果省略charpos,则   下一个字符打印在下一个字符上   线。

请尝试以下方法:

Print #1, exportTxt;

答案 1 :(得分:2)

在创建txt文件后,我所做的和工作的是 计算我想要复制的数据的行,然后使用Print#1,exportTxt循环创建一个新文件;除了最后一行外,还打印#1,“”。

Open sOrgFile For Input As #1
Do While Not EOF(1)
iCounter = iCounter + 1
Line Input #1, sData
If sData = "" Then Exit Do
Loop
Close #1

Open sOrgFile For Input As #1
Open sDestFile For Output As #2
Do While Not EOF(1)
iCounter2 = iCounter2 + 1
Line Input #1, sData
    If sData = "" Then Exit Do
Print #2, sData;
If iCounter2 <> iCounter Then Print #2, ""
sData = ""
Loop

答案 2 :(得分:0)

Print #1, exportTxt;

它在一行中打印所有内容。根本没有换行。