标题: write方法能否覆盖原来文本?
[打印本页]
作者: zhoushijay
时间: 2007-5-9 18:21
标题: write方法能否覆盖原来文本?
如题,不要在文件尾开始写入,要重新开始写怎么做?
作者: baomaboy
时间: 2007-5-9 19:55
CreateTextFile的false
OpenTextFile的2
都可以 (8是操作文件末尾)
作者: zhoushijay
时间: 2007-5-10 12:49
set wrt=fso.opentextfile("num.jay",2)
wrt.write num
OpenTextFile的2 还是从文件尾开始写的,不覆盖
作者: zhoushijay
时间: 2007-5-10 12:55
我是想存储一个计数器的值,我的方法是把它存放在TXT文件中,然后下次运行前从文本中读取。
高手有什么更好的办法也请指点一下,不用这个方法也行
作者: baomaboy
时间: 2007-5-10 13:34
Quote: |
Originally posted by zhoushijay at 2007-5-10 12:49:
set wrt=fso.opentextfile("num.jay",2)
wrt.write num
OpenTextFile的2 还是从文件尾开始写的,不覆盖 |
|
num=5
set wrt=CreateObject("Scripting.FileSystemObject").opentextfile("num.jay",2)
wrt.write num
我不知道在你那里为什么会是追加,我已经试过了,而且符合微软在帮助中的解释,是覆盖。。。。你的代码还是要你仔细分析。
作者: baomaboy
时间: 2007-5-10 13:49
如果可以,发你全部的代码上来,每个细微之处都有可能是出错的地方。
作者: zhoushijay
时间: 2007-5-10 14:05
还是昨天那个代码
set fso=createobject("scripting.filesystemobject")
Set ie=WScript.CreateObject("InternetExplorer.Application")
set rde=fso.opentextfile("num.jay",1)
num=rde.readall '在这里读取出计数器的初始值
num=int(num)
do until err<>0
num=num+1 '初始值+1后,也就是检测下一章小说地址是否有效
ie.navigate "http://www.readnovel.com/novel/15763/"&num&".html"
wscript.sleep 10000
set wrt=fso.opentextfile("num.jay",2)
wrt.write num '每次有效后将NUM的值存入NUM.JAY文件,以便下次读取
on error resume next
isnull(ie.document.title)
msgbox(ie.document.title)
loop
msgbox("目前的最后章节为第"&num&"章!")
msgbox(err)
作者: zhoushijay
时间: 2007-5-10 14:07
现在的问题是num.jay这个文件里的数字并没有像预想中的那样递加
作者: baomaboy
时间: 2007-5-10 14:53
Quote: |
Originally posted by zhoushijay at 2007-5-10 14:07:
现在的问题是num.jay这个文件里的数字并没有像预想中的那样递加 |
|
所以说要把源码拿上来才好分析吗,少了一个.close而已
set fso=createobject("scripting.filesystemobject")
Set ie=WScript.CreateObject("InternetExplorer.Application")
set rde=fso.opentextfile("num.jay",1)
num=rde.readall '在这里读取出计数器的初始值
num=int(num)
do until err<>0
num=num+1 '初始值+1后,也就是检测下一章小说地址是否有效
ie.navigate "http://www.readnovel.com/novel/15763/"&num&".html"
wscript.sleep 10000
set wrt=fso.opentextfile("num.jay",2)
wrt.write num '每次有效后将NUM的值存入NUM.JAY文件,以便下次读取
wrt.close'关闭才行
on error resume next
isnull(ie.document.title)
msgbox(ie.document.title)
loop
msgbox("目前的最后章节为第"&num&"章!")
msgbox(err)
作者: baomaboy
时间: 2007-5-10 14:58
很佩服LZ把方法和技巧应用于实际操作中的创意。
作者: zhoushijay
时间: 2007-5-10 15:40
谢谢baomaboy,问题解决了
只是有一处不明白,我还以为这个CLOSE应该加在上一个opentextfile中,原因是上一次文件是只读模式打开的,并没有关闭,
为什么CLOSE是需要加在后一个opentextfile中的?
作者: baomaboy
时间: 2007-5-10 16:02
大概试了下代码没仔细分析,我也疏忽了第一个opentextfile,并不是说CLOSE需要加在后一个opentextfile中,作为好的编程习惯第一个也是要关闭的当你的目的num=rde.readall 达到之后,之所以没出错是因为rde和wrt好比是两不相关的人在操作同一个物件,正好一个在操作而另一个只是在看(读)而已。
作者: zhoushijay
时间: 2007-5-10 16:29
明白了,如果2个都在操作的话就有可能出现无法访问的错误了吧,
好的习惯,上完厕所记得冲一下 -___-!