写数据到文件,如何去掉由vb自动产生的最后哪个空行

wdthkyou 2008-05-29 08:49:15
我要生成批量数据文件,可是每个文件最后一行是空行,这是vb自动产生的,我检查输出语句,没有输出空行的命令,可是我的数据文件需要被另一个应用程序调用,它要求不能有空行,而且这个程序是上级部门下发的,我们没有源代码,所以只好自己在删除空行上努力了,谢谢大哥大姐进来指点!
...全文
225 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
上面的错了
用这个

将文件的内容存储到一个字符串变量中
比如:
dim strFileContent as String
strFileContent = "ABCDEFG........KF"
strFileContent = LEFT(strFileContent ,LEN(strFileContent)-2)
然后再把整个文件的内容(strFileContent)写到文件中去
这样就不会出现换行了
  • 打赏
  • 举报
回复
将文件的内容存储到一个字符串变量中
比如:
dim strFileContent as String
strFileContent = "ABCDEFG........KF"
strFileContent = RIGTH(strFileContent ,LEN(strFileContent)-2)
然后再把整个文件的内容(strFileContent)写到文件中去
这样就不会出现换行了
vbman2003 2008-05-29
  • 打赏
  • 举报
回复
看来我理解错了.....
估计是还是你生成文件有问题吧?还是检查文件生成的代码吧......
lertulo 2008-05-29
  • 打赏
  • 举报
回复
三樓正解。。。
全部寫出,然後再刪除。
vbman2003 2008-05-29
  • 打赏
  • 举报
回复
用strreverse倒置输出文本,再用replace替换掉第一个vbcrlf,再用strreverse倒置回来:
dim s as string
s="你的输出文本"
s=strreverse(replace(trim(strreverse(s)),vbcrLf,"",1,1))
三楼の郎 2008-05-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Tiger_Zhao 的回复:]
按下面的方式,自己控制一下Print时是否输出回车。

VB codeSub Main()
Dim hFile As Integer
hFile = FreeFile()
Open "C:\a.txt" For Output Access Write As #hFile
Print #hFile, "第一行(有回车)"
Print #hFile, "第二行(无回车)";
Close #hFile
End Sub
[/Quote]

改成:
print #hfile,"第一行"
print #hfile,vbcrlf & "第N行"

从判断是否最后一行改成判断是否第一行,如果不是第一行,那么在输出时在行前面加一个回车换行,否则不加。笨!
wdthkyou 2008-05-29
  • 打赏
  • 举报
回复
暂且如此,再放一天吧,看有没有更好的办法!
  • 打赏
  • 举报
回复
第一行
Print #hFile, "第一行(无回车";
Print #hFile, vbcrlf;"第二开始行(先回车再输出正文一行结束不要回车)";
onlineboy 2008-05-29
  • 打赏
  • 举报
回复
笨办法,分2次完成,第一次生成文件,第二次再将第一次的文件的最后一个回车删除
wdthkyou 2008-05-29
  • 打赏
  • 举报
回复
按照大虾的(无回车)的方式,全部数据写到一行上了!可是我只想避免最后一行不产生空行(没有数据,也没有换行符或回车符),如果我能事先知道共有多少行数据,我就可以采用大虾方式,可是我现在的批量数据没有办法事先确知,因为我得判断该行数据是否有效等问题,这必然导致不能事先确知谁是最后一行!谢谢大虾的指点,我再想其他办法了。有一个不怕麻烦的思路:再次打开输出文件,处理掉最后的换行符或回车符再输出!这里我想求一个一步到位的好法子,谢谢大家指点!
Tiger_Zhao 2008-05-29
  • 打赏
  • 举报
回复
按下面的方式,自己控制一下Print时是否输出回车。
Sub Main()
Dim hFile As Integer
hFile = FreeFile()
Open "C:\a.txt" For Output Access Write As #hFile
Print #hFile, "第一行(有回车)"
Print #hFile, "第二行(无回车)";
Close #hFile
End Sub
wdthkyou 2008-05-29
  • 打赏
  • 举报
回复
谢谢大家指点!结帖了。

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧