vb读取文件夹中所有的txt文件

vb读取文件夹中所有的txt文件,第1张

使用VB内建函数读取文本文件

1/3

双击Command1添加如下代码

Private Sub Command1_Click()

    Dim strFile     As String

    Dim intFile     As Integer

    Dim strData     As String

    strFile = "c:\学生成绩txt"

    intFile = FreeFile

    Open strFile For Input As intFile

    strData = StrConv(InputB(FileLen(strFile), intFile), vbUnicode)

    DebugPrint strData

    Close intFile

End Sub

2/3

运行代码读取文件

按F8开始单步调试代码,点击Command1,进入单步调试功能,多次按下F8或直接按下F5运行完成,就完成了读取文本文件内容并输出到立即窗口。

查看剩余1张图

3/3

关键代码说明

intFile = FreeFile:获取一个文件句柄

Open strFile For Input As intFile :打开文件

FileLen(strFile) :获取文件内容字节大小

InputB:读取文件内容字节流

StrConv:将字节流转换为Unicode字符串

DebugPrint strData:将字符串内容输出到立即窗口

Close intFile:关闭文件句柄

使用FileSystemObject读取文本文件

1/3

添加Microsoft Scripting Runtime引用

点击Project菜单,再点击下拉菜单中的Reference,打开引用对话框,浏览找到Microsoft Scripting Runtime引用,选择后点确定按钮。

查看剩余1张图

2/3

双击Command2添加如下代码

Private Sub Command2_Click()

    Dim objFS

3/3

运行代码读取文件

按F8开始单步调试代码,点击Command2,进入单步调试功能,多次按下F8或直接按下F5运行完成,就完成了读取文本文件内容并输出到立即窗口。

首先在窗体中放置 Microsoft Common Dialog Control,名称指定为 cdlg1。

然后放一个按钮,代码如下:

Private Sub Command1_Click()

Dim fname As String

Dim content As String

cdlg1ShowOpen

fname = cdlg1FileName

MsgBox fname

Open fname For Input As #1

Input #1, content

MsgBox content

Close #1

End Sub

你可能对文件类型了解不是非常清楚:

1、不同的文件类型显示的图标不同;

2、不同的文件类型打开需要的软件不同,“双击可以直接打开选定的文件”,只要你的计算机有相应的软件,应该可以,但是如果没有相应软件,是打不开的;

3、记事本能够打开的文件只能是文本文档,如txt文件、ini文件等,因此“右键菜单可以打开文件,也可以编辑文件(通过记事本打开文件)”是不可能的。

4、目前计算机根据用途不同,安装的应用软件也不同,如果需要全部关联,恐怕可能性不大,因为现在windows平台的应用软件估计也有几千种吧?

Dir 函数示例:

Dim MyFile, MyPath, MyName

' 返回“WININI” (如果该文件存在)。

MyFile = Dir("C:\WINDOWS\WINini")

' 返回带指定扩展名的文件名。如果超过一个 ini 文件存在,

' 函数将返回按条件第一个找到的文件名。

MyFile = Dir("C:\WINDOWS\ini")

' 若第二次调用 Dir 函数,但不带任何参数,则函数将返回同一目录下的下一个 ini 文件。

MyFile = Dir

' 返回找到的第一个隐式 TXT 文件。

MyFile = Dir("TXT", vbHidden)

' 显示 C:\ 目录下的名称。

MyPath = "c:\" ' 指定路径。

MyName = Dir(MyPath, vbDirectory) ' 找寻第一项。

Do While MyName <> "" ' 开始循环。

' 跳过当前的目录及上层目录。

If MyName <> "" And MyName <> "" Then

' 使用位比较来确定 MyName 代表一目录。

If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then

DebugPrint MyName ' 如果它是一个目录,将其名称显示出来。

End If

End If

MyName = Dir ' 查找下一个目录。

Loop

vb语法不熟,只能说下思路。都是使用winapi

资源管理器有一个显示路径的编辑框,先用工具,如 Spy4Win 获得资源管理器的类名,和显示路径的那个edit(Win10系统和xp系统应该不一样)

用winapi GetForegroundWindow 获得系统当前激活的窗口句柄

然后通过 GetClassName 获得该句柄的类名,再判断是否是资源管理器一样的类名

如果一样,通过 FindWindowEx 查找 edit 的句柄,最后GetWindowText获得路径

以上就是关于vb读取文件夹中所有的txt文件全部的内容,包括:vb读取文件夹中所有的txt文件、vb 选择文件 获取文件路径、vb获取当前文件夹下所有文件(显示时带软件图标),双击可以直接打开选定的文件 详情看描述,高分悬赏等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9637417.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存