您的位置:程序门 -> vb -> vba



excel制作一个宏的问题 高手帮忙啊


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


excel制作一个宏的问题 高手帮忙啊
发表于:2008-02-22 17:42:23 楼主
我想利用宏读入一个文件,该文件是一个系统自动生成的日志,有n多条记录(每条记录格式都一样),然后还能能根据条件搜索记录。

具体来说就是excel文件上有2个按钮和2个文本框,第一个按钮就好比是网页上的那种浏览按钮,后面有个文本框输入用户id,再后面是一个搜索按钮,点击搜索按钮之后会显示出当前所选择的文件中所输入的用户名的所有日志记录。
画面大概是:

([         ]为文本框)
[         ]   浏览按钮     [     (输入要查询的用户id)     ]   搜索按钮

记录列表
    操作时间   用户id   操作内容   ......  
1  
2
3
4
...


ps:
例如这样:
2008-02-22   16:07:25,687   [6]   info     claimmanager.bll.basepage   用户id:admin   事件名:rbcms_07_03   -   btnsearch_click   start
2008-02-22   16:07:40,515   [6]   info     claimmanager.bll.basepage   用户id:admin   事件名:rbcms_07_03   -   btnsearch_click   处理時間:14828.125ms   end

操作日時                                       操作者 操作内容                                     開始/終了       处理時間
2008-02-22   16:07:25,687 admin btnsearch_click                       start
2008-02-22   16:07:25,687 admin btnsearch_click                         end 14828.125ms


大家有人会吗   谢谢了,我一点这方面的基础都没有啊!快急死我了都555
发表于:2008-02-22 18:11:511楼 得分:0
text1为pid   text2为显示结果   command1为搜索按钮 另一个键我不知有什么用
将text2.multiline   =   true

private   sub   command1_click()
                dim   stext           as   string,   skey               as   string
                s   =   text1:               text2   =   ""
                open   "aaa.log"   for   input   as   #1
                do   while   not   eof(1)                               '       检查文件尾。
                                line   input   #1,   stext                               '       读入一行数据。
                                if   instr(1,   stext,   "   用户id:"   &   s   &   "   ")   >   0   then   text2   =   text2   &   stext   &   vbcrlf                                                           '       在text2中显示。
                loop
                close   #1

你参考,在if中修改text2的取值,就可以了.
不会再问.
发表于:2008-02-25 14:06:012楼 得分:0
感谢楼上的大哥,另一个键是选择日志文件路径的。这种效果怎么实现阿谢谢了
发表于:2008-02-25 14:38:043楼 得分:0

参考以下,strtitle   为显示字头
private   function   choicedirectoryonly(byref   strtitle   as   string)   as   string
        dim   shapp   as   object,   path1   as   object
        strtitle   =   "请选择"   &   strtitle   &   "文件夹"
        set   shapp   =   createobject("shell.application")
        set   path1   =   shapp.browseforfolder(0,   strtitle,   0,   17)
        if   path1   is   nothing   then
                choicedirectoryonly   =   ""
        else
                choicedirectoryonly   =   iif(iserror(path1.items.item.path),   path1.title,   path1.items.item.path)
        end   if
end   function
发表于:2008-02-25 15:40:344楼 得分:0
这位大哥你好,看出来你是高手了,不过我真的没有这方面的基础,我看了你给的这些代码,但是我不知道该将这些代码加到何处?我上网查了查,按ctrl+f11找到编辑页面,也将这个宏和按钮联上了,为什么执行时没有反映呢?谢谢了,详细教教我步骤好吧?万分感谢!
发表于:2008-02-25 16:23:215楼 得分:0
你如果没有一点基础,还真不好做,因为要用到vba编程才能做到,我还以为你就是要日志文件路径,所以发了以上代码,看来不是,你还是学点基础吧。
发表于:2008-02-25 17:15:056楼 得分:0
我是想通过选择日志文件路径来对这个日志文件进行查询操作,然后将查询结果显示在excel上,楼上的大哥,实在是不好意思,这个小任务要急着交,我真是着急啊,能否帮帮小弟做个简单的demo也好啊,大哥在这方面应该也是高手了,我是做java的,实在不懂这方面的知识,帮帮忙吧谢谢了~~~!!就算交个朋友了,如果同意的话,这是我的邮箱“kwantong2006@yahoo.com.cn”! help me~

(要是大哥在java方面有问题,我一定能帮上忙哈!)
发表于:2008-02-26 08:14:377楼 得分:0
用上面的choicedirectoryonly函数代码,以下方法可显示路径名
private   sub   command2_click()  
        msgbox   choicedirectoryonly("选择日志文件路径")
        '可将choicedirectoryonly返回值赋给一变量,如strlogpath=choicedirectoryonly("选择日志文件路径")
        '然后做你的查询
end   sub
发表于:2008-02-26 09:27:558楼 得分:0
真是太感谢拉~~   膜拜中


快速检索

最新资讯
热门点击