找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1159|回复: 19

[求助]:请教VBA的高手,急!急!急!

[复制链接]
发表于 2004-3-27 19:58:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我想用vba实现选择文档,并用提取文档中的数据。我是个初学者不知道怎么实现。

例如:文档的内容为
10   100   120   300
20   150   232   345
30   233   349   400
:
:
100 220   232   432
提取出每行的4个数据。文档有多个。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-3-28 17:08:55 | 显示全部楼层
楼主,试试这个程序,还有二楼的,你的回答说了和没说一样!以后别帖这些无用的!

Sub tt()
Dim i As Integer
Dim j As Integer
Dim hz As Variant
Dim hsz() As Double
Dim ltext() As Variant
Dim textline() As String
i = 1
Open "l:\tt.txt" For Input As #1
Do While Not EOF(1)
ReDim Preserve textline(i)
ReDim Preserve ltext(i, 2)
Line Input #1, textline(i)
hz = Split(textline(i), " ")
For j = 0 To 3
ltext(i, j) = hz(j)
'Debug.Print ltext(i, j)
Next

Loop

End Sub

原来程序的思路是对的。在此进行了部分改正。

  1.   [FONT=courier new]
  2. Sub tt()
  3.     Dim i As Integer
  4.     Dim j As Integer
  5.     Dim hz As Variant
  6.     '多余的声明
  7.     'Dim hsz() As Double
  8.     '存储的是字符串类型
  9.     'Dim ltext() As Variant
  10.     Dim ltext() As String
  11.     Dim textline() As String
  12.     '默认的数组下限是从0开始的
  13.     'i = 1
  14.     Open "c:\tt.txt" For Input As #1
  15.     Do While Not EOF(1)
  16.         ReDim Preserve textline(i)
  17.         '只能重定义最末维的大小,因而颠倒过来
  18.         '四个元素,应该是0-3
  19.         ReDim Preserve ltext(3, i)
  20.         Line Input #1, textline(i)
  21.         hz = Split(textline(i), " ")
  22.         For j = 0 To 3
  23.             ltext(j, i) = hz(j)
  24.         Next
  25.         '读取1行之后,计数器应该增1
  26.         i = i + 1
  27.     Loop
  28.     '打开的文件要关闭
  29.     Close #1
  30. End Sub
  31.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-3-29 11:35:12 | 显示全部楼层
谢谢!
   但我在运行时为何在ltext(i, j) = hz(j)  j=3 时,显示下界越界呢?
   还有,如何选择多个txt 文件啊,不会每次都修改程序吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-3-29 12:23:05 | 显示全部楼层
一次读取多个文件是可以的,但不知道你要这样做的原因是什么?把你的标准文件传几个上来,我帮你调试!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-3-29 14:59:44 | 显示全部楼层
我是想把我需要的阀门数据表中的数据提出来,自动生成阀门数据库。但阀门的数据表很多,不是单独一个文件啊。所以我想通过选择阀门数据表,生成不同的阀门。
谢谢你的程序,我已经学习了一下,在你的帮助下,一个文件的读写数据已经能够完成了。
还要往下进行程序的编写。
多个文件的调用我在EXCEL 中我会实现,在CAD中我不知道怎么实现。如果能帮我一下我十分感激。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-3-29 18:26:41 | 显示全部楼层
多个文件的读取其实也就是一个循环,我帮你试试!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-3-30 10:16:05 | 显示全部楼层
我也在学VBA啊,可是 我觉得很难啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-3-30 12:11:34 | 显示全部楼层
VBA其实不很难,和VB一样,入门挺容易,但要学到精通就难些!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-4-1 08:41:28 | 显示全部楼层
选取数据文件的时候,可以出现一个(象打开文件的)对话框,进行选择文件么?
要如何实现呢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-1 18:33:34 | 显示全部楼层
当然可以,用commondialog控件!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-1 20:49:07 | 显示全部楼层
commondialog 好象要求有Visual studio 的安装才有使用许可
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-2 12:09:43 | 显示全部楼层
VB里就有!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-4-4 19:24:34 | 显示全部楼层
有没有其他的方法,难道我要是给别人安装时,都要安装VB么
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-4 19:33:30 | 显示全部楼层
vb倒是不用装,把必要的控件COPY过去就可以了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-10 14:10:55 | 显示全部楼层
我很想精通VBA,我看了本《VBA从入门到精通》的书,可看完了,并没有精通啊,我该怎么学呢?该学些什么书呢?帮帮我吧!我很需要学精VBA!!!我也是十分喜欢学的!!能快捷一点吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-23 05:39 , Processed in 0.228558 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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