77范文网 - 专业文章范例文档资料分享平台

vb读取文件夹的文件

来源:网络收集 时间:2020-05-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

在使用vb编程,有些时候我们不得不面对需要一次性读取文件夹中某一类型的所有文件,这如何实现咧?

第一种方法是动态加载控件实现文件的读取,代码如下: Private Sub Command1_Click() Dim objDlg //shell对象 Dim objF //文件选择对话框对象 Dim DstPath //文件夹路径 Dim I //临时变量

Set objDlg = CreateObject(\ //加载shell对象

Set objF = objDlg.BrowseForFolder(&H0, \选择存放位置:\ //打开一个浏览文件夹 If InStr(1, TypeName(objF), \ //路径有效则记录路径 DstPath = objF.self.Path Else

MsgBox \目录无效!\ End If

BrowseForFolder的作用就是创建上图所示的文件夹选择对话框,其参数表为:

object.BrowseForFolder Hwnd, Title, Options, [RootFolder] object Hwnd Title Options

用来创建对话框的对象 父窗口的句柄 对话框的标题

一个long类型的值主要的作用是控制对话框显示的格式,具体取值可以参看MSDN中的“BROWSEINFO”

RootFolder 可选项,对话框打开时的位置

Dim flist As FileListBox //控件类型FileListBox Dim lbox As ListBox //控件类型ListBox

?通过Me对象以及Controls集合动态的加载两个控件 Set flist = Me.Controls.Add(\ Set lbox = Me.Controls.Add(“VB.ListBox”, “lb”, Me) With objF ' File1

.Pattern = \ //需要筛选出来的文件类型 .Path = DstPath //文件夹的路径 For i = 0 To .ListCount - 1 //遍历所有指定类型的文件

List1.AddItem DstPath & \ //假设listbox的名称为list1 Next End With

End Sub

这里需要说明一下:

FileListBox控件可以通过.Pattern中指定的文件后缀名,以及.Path指定的文件夹路径,筛选出.Path路径下所有满足条件的文件类型,将文件名全部记录在.List数组中,我们通过一个ListBox控件,将.List 数组中的所有文件全部取出来,通过DstPath & \,记录下文件的全路径 有些时候,我们需要将弹出来的对话框设置成模态的对话框以限制用户的一些操作,但是一般使用BrowseForFolder得到的都是非模态的对话框,那么有没有实现呢?肯定是可以的,一般我们是用BrowseForFolder的时候总是习惯性的将Hwnd这个参数设置成0,这样得到的就是一个非模态的文件夹选择对话框。如果将Hwnd设置成对应的父窗口的句柄的话,我们就可以得到一个模态的对话框了。

第二种方法则是自己添加控件完成,文件夹选择的操作,这种方法有两种思路,一种是利用VB的空间DirListBox以及DriveListBox两个控件如图

?确定按钮

Private Sub Command1_Click() '打开一个目录

2

Dim flb As FileListBox '动态FileListBox控件 Dim lb As ListBox '动态ListBox控件

Dim i '中间变量

fPath = Dir1.path

Set flb = Me.Controls.Add(\ Set lb = Me.Controls.Add(\

'获取文件下所有满足要求的.gxk文件的集合 With flb

.Pattern = \ .path = fPath

For i = 0 To .ListCount - 1

lb.AddItem fPath & \ '假设listbox的名称为list1,请根据实际修改 Next i End With

Set fList = lb

Me.Hide '隐藏对话框 End Sub

?取消按钮

Private Sub Command2_Click() Unload Me End Sub

?DriveListBox空间中选取的磁盘发生变化 Private Sub Drive1_Change() Dir1.path = Drive1.Drive End Sub

?窗体加载

Private Sub Form_Load() Dim x As Long Dim y As Long x = Screen.Width y = Screen.Height

X1 = (x - Me.Width) / 2 Y1 = (y - Me.Height) / 2 Me.Move X1, Y1 End Sub

3

另外一种方法就是添加Tree控件,默认的控件中没有TreeView控件,需要我们从工程菜单下面的部件中引用如图:

对ImageList的属性进行设置,添加两个我们需要用到的图标,并设置其大小尺寸:

4

在设置树控件的时候 需要添加的四个参数分别是

1,节点 2,该节点与要添加节点的关系 3,标示符 4,显示信息 5, 图标 Private Sub Form_Load()

TreeView1.LineStyle = tvwTreeLines TreeView1.ImageList = ImageList1

TreeView1.Style = tvwTreelinesPlusMinusPictureText TreeView1.Nodes.Add , , \本地磁盘 C:\ TreeView1.Nodes.Add , , \本地磁盘 D:\ TreeView1.Nodes.Add , , \本地磁盘 E:\End Sub

Private Sub TreeView1_Expand(ByVal Node As MSComctlLib.Node) Node.ExpandedImage = 2 End Sub

Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)

Dim fPath As String '父文件名 Dim sPath As String '子文件名 Dim i

Set chdDir = Controls.Add(\ chdDir.Path = Node.Key fPath = Node.Key

With chdDir

Dim name As String '记录子文件名 For i = 0 To .ListCount - 1 Dim x, y

sPath = .List(i) x = sPath y = \

Do While InStr(x, \ x = Split(x, \ y = y + x(0) x = x(1) Loop

name = x

TreeView1.Nodes.Add fPath, tvwChild, sPath, name, 2 Next End With

Node.Expanded = True

Me.Controls.Remove (\End Sub

5

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库vb读取文件夹的文件在线全文阅读。

vb读取文件夹的文件.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1069439.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: