文档库 最新最全的文档下载
当前位置:文档库 › VB打开txt文件

VB打开txt文件

打开文本文件是不少程序必须处理的问题。如何更有效地打开文本文件应该是一个值得研究的课题。为此,笔者将自己搜集到的几种方法无私地奉献出来(-_-),供各位参考。同时期盼大家也来参与,借VB编程乐园这块宝地互相交流。如您有这份心,土人在这里先说声谢谢!

下面所举的例子均假设F盘下有一个名为d.txt的文本文件,若需要尝试这些例子请作相应的改动。

方法一:

用定长的String变量获取文本内容。由于定长String变量支持的下界为65400,所以在打开超过32K字节的文件时超出部分的字节将无法获取:

Private Sub Command1_Cliack()

Dim sA As String * 65400 '声明定长String变量

Open "F:\d.txt" For Binary As #1 '用二进制打开文件

Get #1, , sA '用Get语句从文件中获取字节

Text1 = sA '显示打开的文件

Close #1 '关闭文件

End Sub

方法二:

先声明一字符串变量,然后用空格填充字符串,使变量大小与文件大小一致,再通过Get语句将文件全部数据存储到变量中,从而达到获取整个文件字节数的目的。此法可以打开大于32K的文件,但应该注意的是,装载文件的容器必须能装载大于32K的文件,下例用RichTextBox控件显示打开的文件:Private Sub Command1_Click()

Dim sA As String

Open "f:\d.txt" For Binary As #1

sA = Space(LOF(1)) '用空格填充sA变量

N,] j WQ y0Get #1, , sA '用Get语句获取文件全部内容

RichTextBox1.Text = sA

Close #1

End Sub

方法三:

用StrConv函数将文件的控制字符串数据和Unicode码之间进行转换,从而达到打开文件的目的。可打开任意大小文件。此法笔者曾有一篇文章谈及,这里再给一个简单例子

Private Sub Command1_Click()

Open "f:\d.txt" For Input As #1

RichTextBox1.Text = StrConv(InputB$(LOF(1), 1), vbUnicode)

Close #1

End Sub

方法四:

用RichTextBox控件自身的LoadFile属性打开文件:

RichTextBox1.LoadFile "f:\d.txt", rtfText

百度首页百度空间|

嘿色ゞ深处

HeyColor You Is ?

主页博客相册|个人档案|好友

查看文章

VB 打开文本文件打开txt文件

2008年04月13日星期日10:28

打开文本文件是不少程序必须处理的问题。如何更有效地打开文本文件应该是一个值得研究的课题。为此,笔者将自己搜集到的几种方法无私地奉献出来(-_-),供各位参考。同时期盼大家也来参与,借VB编程乐园这块宝地互相交流。如您有这份心,土人在这里先说声谢谢!

下面所举的例子均假设F盘下有一个名为d.txt的文本文件,若需要尝试这些例子请作相应的改动。

方法一:

用定长的String变量获取文本内容。由于定长String变量支持的下界为65400,所以在打开超过32K字节的文件时超出部分的字节将无法获取:

Private Sub Command1_Cliack()

Dim sA As String * 65400 '声明定长String变量

Open "F:\d.txt" For Binary As #1 '用二进制打开文件

Get #1, , sA '用Get语句从文件中获取字节

Text1 = sA '显示打开的文件

Close #1 '关闭文件

End Sub

方法二:

先声明一字符串变量,然后用空格填充字符串,使变量大小与文件大小一致,再通过Get语句将文件全部数据存储到变量中,从而达到获取整个文件字节数的目的。此法可以打开大于32K的文件,但应该注意的是,装载文件的容器必须能装载大于32K 的文件,下例用RichTextBox控件显示打开的文件:Private Sub Command1_Click()

Dim sA As String

Open "f:\d.txt" For Binary As #1

sA = Space(LOF(1)) '用空格填充sA变量

N,] j WQ y0Get #1, , sA '用Get语句获取文件全部内容

RichTextBox1.Text = sA

Close #1

End Sub

方法三:

用StrConv函数将文件的控制字符串数据和Unicode码之间进行转换,从而达到打开文件的目的。可打开任意大小文件。此法笔者曾有一篇文章谈及,这里再给一个简单例子

Private Sub Command1_Click()

Open "f:\d.txt" For Input As #1

RichTextBox1.Text = StrConv(InputB$(LOF(1), 1), vbUnicode)

Close #1

End Sub

方法四:

用RichTextBox控件自身的LoadFile属性打开文件:

RichTextBox1.LoadFile "f:\d.txt", rtfText

Private Sub Form_Load()

Text1.MultiLine = True

Dim x As String

Open App.Path & "\版本说明.txt" For Input As #1

Input #1, x

Text1.Text = Input(LOF(1), 1)

End Sub

问题:如何在VB中打开txt文件的内容输出成数组?txt文件中的内容如下:(数字之间以tab空格格开)1 2 3 4 5 4 5 6 7 8 9 10 11 12 13输出成格式为{{1,2,3,4,5},{4,5,6,7,8},{9,10,11,12,13}}的文本文件?

Private Sub Command1_Click()

Dim A$

Open "C:\1.txt" For Input As #1

A = StrConv(InputB$(LOF(1), #1), vbUnicode)

Close #1

A = "{" & Replace(Replace(A, Chr(9), ","), vbCrLf, "},{") & "}"

Open "C:\1.txt" For Output As #1

Print #1, "{"

Print #1, A

Print #1, "}"

Close #1

MsgBox "OK!"

End Sub

打开txt文件方法:(我发现就这种方法最简单了)

Private Sub Command1_Click()

Shell "notepad.exe d:\filename.txt", vbNormalFocus '具体的路径更改app.path & "\filename.txt"

End Sub

很简单的几句代码!

vb中调用txt文档内容

VB中要调用TXT文档内容,要使用到open语句,open语句的语法是:

Open pathname For mode [Access access] [lock] As [#] filenumber [Len=reclength] pathname 必选,为文件路径,需用双引号括起来,如果是相对路径就要写成App.path & "filename"

mode 必选,指定文件方式,共有Append(附加、添加)、Binary(二元的)、Input(输入)、Output (输出)、或Random(随意)方式,如果未指定方式,则以Random访问方式打开。

access 可选,说明打开的文件可以进行的操作,有Read、Write或Read Write操作。

lock 可选,限制于其它进程打开的文件的操作,有Shared、Lock Read、Lock Write和Lock Read Write 操作。

filenumber 必选,指定一个有效的文件号,范围在1到511之间。使用FreeFile函数可得到下一个可用的文件号。

reclength 可选,小于或等于32,767(字节)的一个数。对于用随机访问方式打开的文件,该值就是记录长度。对于顺序文件,该值就是缓冲字符数。

说明:

如果pathname 指定的文件不存在,那么,在用Append、Binary、Output、或Random 方式打开文件时,可以建立这一文件。

如果文件已由其它进程打开,而且不允许指定的访问类型,则Open 操作失败,而且会有错误发生。

如果mode 是Binary 方式,则Len 子句会被忽略掉。

重要在Binary、Input 和Random 方式下可以用不同的文件号打开同一文件,而不必先将该文件关闭。在Append 和Output 方式下,如果要用不同的文件号打开同一文件,则必须在打开文件之前先关闭该文件。

结构:

Open strpath For Input As #intFNum

Do While Not EOF(intFNum)

Line Input #intFNum, strTemp

str = str & strTemp

Loop

Close #intFNum

实例1:读取相对路径下"实例.txt"的所有内容。

Private Sub Form_Load()

Open App.Path & "实例.txt" For Input As #1

DO While Not EOF(1)

Line Input #1,a '使用行读取

Text1.Text=Text1.Text & a & vbCrLf '读取一行后回车换行

Loop

Close #1

End sub

实例2:按command1按钮,把c:\123.txt文本中的内容全部读取到text1控件中。'text1控件的multiline属性设成true scrollbar属性设成2

Private Sub Command1_Click()

dim lines as string

dim nextline as string

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

do until eof(1)

line #1 nextline

lines=lines & nextline & char(13) & char(10)

loop

close #1

text1.text=lines

End Sub

实例3:按下command1按钮,读取c:\321.txt文本中前20行的内容到text1控件中。

'text1控件的multiline属性设成true scrollbar属性设成2

Private Sub command1_click()

dim lines as string

dim nextline as string

dim i as integer

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

for i=1 to 20

On Error Resume Next

line #1 nextline

lines=lines & nextline & char(13) & char(10)

next i

close #1

text1.text=lines

End Sub

实例4:按下command1按钮,在1.txt文档中找出前11 位对应text1.text内容的行,并把查找的结果在text2.text中显示。

Private Sub Command1_Click()

Dim nextline as string

Dim lines as string

open "d:\dazhong\desktop\1.txt" For Input As #1

Do While Not EOF(1)

Line Input #1,nextline

If Text1.Text=Left(nextline,11) Then

lines=nextline

End If

Text2.Text=Text2.Text & lines & vbCrLf

Loop

Close #1

End Sub

如果你的C盘有一个叫做123.txt 那么123.txt 的路径就是C:\123.txt 这是代码

Private Sub Command1_Click()

shell "explorer.exe C:\123.txt"

end sub

就是这么简单

相关文档