找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28592|回复: 6

[问题求助] [已解决]VBS中OpenTextFile读文本文件提示“缺少对象 string”

[复制链接]
发表于 2011-6-28 17:02:52 | 显示全部楼层 |阅读模式
  1. Dim hellofs,worldfs
  2. Dim hello
  3. Set hellofs=CreateObject("Scripting.FileSystemObject")
  4. Set worldfs=hellofs.OpenTextFile("hello.txt",1,True)
  5. Set hello=worldfs.ReadAll
  6. worldfs.Close
复制代码
hello.txt
  1. hello
  2. good
  3. baby
复制代码
要类有类,要对象有对象,要方法有方法,怎么还是出错了?

评分

参与人数 1PB +2 收起 理由
batman + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-6-28 17:09:06 | 显示全部楼层
书写要规范:

  1. Dim FSO, Worldfs, Hello
  2. Set FSO = CreateObject("Scripting.FileSystemObject")
  3. Set Worldfs=FSO.OpenTextFile("hello.txt")
  4. Hello = Worldfs.ReadAll()
  5. Worldfs.Close
  6. WScript.Echo Hello
复制代码

评分

参与人数 1技术 +1 收起 理由
Hello123World + 1 多谢!

查看全部评分

 楼主| 发表于 2011-6-28 17:14:12 | 显示全部楼层
2# batman
不是说变量名一般小写吗?关键词才首字母大写。
发表于 2011-6-28 17:19:23 | 显示全部楼层
本帖最后由 batman 于 2011-6-28 17:22 编辑

3# Hello123World
vbs并不区分大小写,但是为了以后学习js最好还是习惯大小写的方式。。。

你错在这一句Set hello=worldfs.ReadAll,这是直接接收文本字符对象的过程,不能再用set定义方法名了。。。

同时请搞清楚类、对象、事件、方法的概念哈,你这个代码里是没有类的。。。
 楼主| 发表于 2011-6-28 19:27:42 | 显示全部楼层
4# batman
Scripting.FileSystemObject
这个不是类吗?创建fso类的对象hellofs
 楼主| 发表于 2011-6-28 19:33:09 | 显示全部楼层
4# batman
我知道vb,vbs都不去区分大小写,之所以人为区分是为了记单词,且以后学那些区分大小写的语言时也不会不适应。
发表于 2011-6-28 21:43:49 | 显示全部楼层
ReadAll方法返回的既不是对象也不是集合,只是字符串,当然不需要加set

评分

参与人数 1PB +2 收起 理由
zm900612 + 2 学习了

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 06:48 , Processed in 0.020968 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表