明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2264|回复: 6

[VBA]FSO及数组问题请教。

[复制链接]
发表于 2005-1-24 19:33:00 | 显示全部楼层 |阅读模式
有两个问题想请教一下大家。


第一,如何用FSO读取文本文件中指定行的内容?


第二,我写了如下代码:


sub test()


dim strtemp() as string


open "c:\a.txt" for input as #1


line input #1,strtemp(1)


line input #1,strtemp(2)


msgbox strtemp(1) & strtemp(2)


end sub


运行的时候提示下标越界。我是想打开一个文本文件对里面的数据进行操作,用一个动态数组strtemp()来读取一行的内容。但是出现上面的错误,我把dim strtemp() as string改成dim strtemp() as varient也是同样的错误。因为文本文件的行数是不确定的,所以我用动态数组来声明,但是出现这样的错误。如果把dim strtemp() as string改为dim strtemp(2) as string。程序就运行正常。这是为什么?
发表于 2005-1-24 19:50:00 | 显示全部楼层
动态数组需要重定义才能使用。


dim strtemp() as string


redim strtemp(2)
 楼主| 发表于 2005-1-24 20:16:00 | 显示全部楼层
那我如果不知道需要几个strtemp呢?redim strtemp(n)?比方说我把line input那两行放到一个while not eof循环里面,然后要求strtemp(1)保存第一行的数据,strtemp(2)保存第二行的数据,strtemp(n)保存第N行的数据呢,该怎么处理?
发表于 2005-1-24 20:44:00 | 显示全部楼层
  1. Sub test2()
  2. Dim fso As New FileSystemObject
  3. Dim ts As TextStream
  4. Set ts = fso.OpenTextFile("c:\test.txt")
  5. strtemp = Split(ts.ReadAll, vbCrLf) ts.Close
  6. End Sub
 楼主| 发表于 2005-1-25 19:32:00 | 显示全部楼层
回楼上。还是不行啊,提示“用户定义类型未定义。”


是不是要引用什么类啊。
发表于 2005-1-25 22:33:00 | 显示全部楼层
  1. Function ReadText(FileName)
  2.        Dim objFSO
  3.        Dim fdata
  4.        Dim objCountFile
  5.        Err.Clear
  6.        'On Error Resume Next
  7.        Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
  8.        Set objCountFile = objFSO.OpenTextFile(FileName, 1, True)
  9.        If Not objCountFile.AtEndOfStream Then fdata = objCountFile.ReadAll
  10.        objCountFile.Close
  11.        Set objCountFile = Nothing
  12.        Set objFSO = Nothing
  13.        If Err.Number <> 0 Then
  14.        '       ReadText = fdata
  15.        Else
  16.                ReadText = fdata
  17.        End If
  18. End Function

点评

好代码复制下来  发表于 2012-9-25 16:36
发表于 2012-9-25 17:39:20 | 显示全部楼层
经调试把两个的结合起来就可以读取出来了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 16:38 , Processed in 0.164730 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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