導航:首頁 > 文件教程 > vb打開文本文件

vb打開文本文件

發布時間:2022-05-23 23:04:50

㈠ VB如何讀文本文件

讀文件

DimsAsString
DimfilenameAsString
filename=shuxiang&xingzuo&".txt"
OpenfilenameForInputAs#1
DoWhileNotEOF(1)
LineInput#1,s
Prints
Loop
Close#1


追加寫文件


DimiAsInteger,nAsInteger,a(6)AsInteger
n=6
Open"D:1122.txt"ForAppendAs#1
Randomize
Fori=1Ton
a(i)=Int(Rnd*1000+1)
Print#1,a(i)
Nexti
Close#1

覆蓋寫文件
DimiAsInteger,nAsInteger,a(6)AsInteger
n=6
Open"D:1122.txt"ForoutputAs#1
Randomize
Fori=1Ton
a(i)=Int(Rnd*1000+1)
Print#1,a(i)
Nexti
Close#1


'函數:一次性讀文件至變數,非常快FunctionGetFile(FileNameAsString)AsStringDimiAsInteger,sAsString,BB()AsByteIfDir(FileName)=""ThenExitFunctioni=FreeFileReDimBB(FileLen(FileName)-1)OpenFileNameForBinaryAs#iGet#i,,BBClose#is=StrConv(BB,vbUnicode)GetFile=sEndFunction'調用舉例:dimsasstrings=GetFile("c:1.txt")

㈡ 請問VB中如何讀取txt文件的數據

1、新建一個標準的VB EXE工程,只有一個Form,Form上有兩個按鈕:Command1和Command2。

㈢ 關於VB打開文本文件的操作!!

你把兩個文件抄的讀取分襲開來啊,都放一個循環肯定同時關閉啊。你分開放
Open txtDataFile.Text & "\" & StrFile For Input As #45
Open Me.txtTMFile.Text For Input As #40

Do Until EOF(40)
Line Input #40, strData
Loop
close #40

Do Until EOF(45)
Line Input #45, strData2
Loop
close #45

㈣ 怎麼使用VB打開文本文件

這樣你換一種寫法試一試:
dim x As String
open "g:\雜項\123.txt" for input as #1
DO while not eof(1)
line input #1,x
text1.text = text1.text & x & vbcrlf
loop
close #1
還有一種是:版
open "g:\雜項\123.txt" for input as #1
text1.text = strconv(inputb(lof(2),#1),vbunicode)
close #1
不行的話 再問權我

㈤ vb 怎樣打開文件並把文件內容顯示在文本框

1、單擊菜單「工程」-「部件」,在彈出的「部件」對話框里找到MicrosoftRichTextBox6.0和公共對話框MicrosoftCommonDialog6.0並選中它們,單擊「確定」按鈕。

2、在窗體上繪制RichTextBox和CommnDialog。

3、右鍵窗體選擇菜單編輯器,編寫打開和清空菜單。

4、兩個按鈕代碼

PrivateSubopen_Click()

CommonDialog1.Filter="文本文件(*.txt)|*.txt|(*.doc)|*.doc|所有文件|*.*"

CommonDialog1.ShowOpen

RichTextBox1.Text=""'清空文本框

FileName=CommonDialog1.FileName

RichTextBox1.LoadFileFileName

Me.Caption="超級記事本:"&FileName

EndSub

PrivateSubqk_Click()

RichTextBox1.Text=""

EndSub

5、注意:打開txt文件時正常的,但是打開word是亂碼,因為word的存儲方式跟txt文件不一樣的,這個是正常的。

㈥ VB如何打開一個文本文件

1、獲取文來本文件路徑
2、通源過流的方式打開文本文件
示例:
Dim MyString
Private Sub Command1_Click() 』按鈕事件
Open App.Path + "\Myfile.txt" For Input As #1 '打開文本文件,讀取。
Do While Not EOF(1) '是否沒到文件末尾
Input #1, MyString '讀取文件內容
Loop
Close #1
End Sub

㈦ VB下如何調用文本文檔

方法一
使用文件
通過使用新的面向對象的 FSO 對象,諸如 Copy、 Delete、 Move 以及 OpenAsTextStream,或者使用傳統的函數,諸如 Open、 Close、 FileCopy、 GetAttr 等等,您可以使用 Visual Basic 中的文件。請注意,不用考慮其文件類型就可以移動、復制或刪除文件。

關於傳統函數的用法的詳細信息,請參閱本章的「用傳統的文件 I/O 語句和函數處理文件」部分。本節的餘下部分將描述如何使用新的 FSO 對象、方法和屬性來使用文件。

文件操作主要有兩類:

創建、添加、或刪除數據,以及閱讀文件

移動、復制、和刪除文件
用 File System Objects 創建文件並添加數據
有三種不同方法來創建一個順序文本文件(有時被稱為「文本流」)。一種方法就是使用 CreateTextFile 方法。要創建一個空文本文件,可以:

Dim fso As New FileSystemObject, fil As File
Set fil = fso.CreateTextFile("c:\testfile.txt", True)

注意 FSO 對象模型尚不支持創建隨機文件或二進制文件。要創建隨機文件和二進制文件,請使用帶 Random 或 Binary 標志的 Open 命令。關於如何操作隨機文件和二進制文件的詳細信息,請參閱本章的「使用隨機文件訪問」和「使用二進制文件訪問」部分。

另一種方法是使用 FileSystemObject 對象的 OpenTextFile 方法,該對象的 ForWriting 標志設置為:

Dim fso As New FileSystemObject, ts As New TextStream
Set ts = fso.OpenTextFile("c:\test.txt", ForWriting)

或者使用帶 ForWriting 標志設置的 OpenAsTextStream 方法:

Dim fso As New FileSystemObject, fil As File, ts As TextStream
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile ("test1.txt")
Set fil = fso.GetFile("test1.txt")
Set ts = fil.OpenAsTextStream(ForWriting)

添加數據到文件
文本文件一經創建,就可以分三步向其中加入數據:

打開文本文件以備寫入數據。

寫入數據。

關閉文件。
要打開文件,可以使用下面兩種方法中的任一種: File 對象的 OpenAsTextStream 方法,或 FileSystemObject 對象的 OpenTextFile 方法。

要向打開的文本文件中寫入數據,可以使用 TextStream 對象的 Write 或 WriteLine 方法。它們之間的唯一差別是 WriteLine 在指定的字元串末尾添加換行符。

如果想要向文本文件中添加一個空行,請使用 WriteBlankLines 方法。

要關閉一個已打開的文件,請使用 TextStream 對象的 Close 方法。

下面這個例子示範了如何打開一個文件,使用上述三種寫入方法向該文件中添加數據,然後關閉文件:

Sub Create_File()
Dim fso, txtfile
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtfile = fso.CreateTextFile("c:\testfile.txt", True)
txtfile.Write ("這是一個測試例子。") ' 寫入一行。
' 寫入一行帶有換行符的文本。
txtfile.WriteLine("Testing 1, 2, 3.")
' 向文件中寫入三個換行符。
txtfile.WriteBlankLines(3)
txtfile.Close
End Sub

使用 File System Objects 讀取文件
要從一個文本文件中讀取數據,請使用 TextStream 對象的 Read、 ReadLine 或 ReadAll 方法:

任務 方法
從一個文件中讀取指定數量的字元 Read
讀取一整行(緊跟,但不包括,換行符) ReadLine
讀取一個文本文件的所有內容 ReadAll

如果使用 Read 或 ReadLine 方法並且想要跳過數據的某些部分,可以使用 Skip 或 SkipLine 方法。

這些讀取方法產生的文本被存儲在一個字元串中,而這個字元串可以在一個控制項中顯示,也可以被字元串操作符分解(諸如 Left、 Right 和 Mid)、合並等等。

注意 vbNewLine 常數包含一個或多個字元(取決於操作系統)使得游標移至下一行的開頭(回車/換行)。請注意,有的字元串末尾可能有這樣的非列印字元。

示例
Sub Read_Files()
Dim fso As New FileSystemObject, txtfile, _
fil1 As File, ts As TextStream
Set txtfile = fso.CreateTextFile("c:\testfile.txt", True)
MsgBox "正在寫入文件"
' 寫入一行。
Set fil1 = fso.GetFile("c:\testfile.txt")
Set ts = fil1.OpenAsTextStream(ForWriting)
ts.Write "Hello World"
ts.Close
' 讀取文件的內容。
Set ts = fil1.OpenAsTextStream(ForReading)
s = ts.ReadLine
MsgBox s
ts.Close
End Sub
移動、復制和刪除文件
對文件的移動、復制和刪除,FSO 對象模型都提供了兩種方法:

任務 方法
移動一個文件 File.Move 或
FileSystemObject.MoveFile
復制一個文件 File.Copy 或
FileSystemObject.CopyFile
刪除一個文件 File.Delete 或
FileSystemObject.DeleteFile

示例
本例先在C盤的根目錄下創建了一個文本文件,並向其中寫入一些信息,然後將該文件移至一個名叫 \tmp 的目錄,並復制到一個叫 \temp 的目錄下,最後刪掉該文件在這兩個子目錄下的拷貝。

要運行本例,請先確認在C盤的根目錄下已經存在名叫 \tmp 和 \temp 的目錄。

Sub Manip_Files()
Dim fso as New FileSystemObject, txtfile, fil1, fil2
Set txtfile = fso.CreateTextFile("c:\testfile.txt", True)
MsgBox "寫入文件"
' 寫入一行。
txtfile.Write ("這是一個測試例子。")
' 關閉要寫入的文件。
txtfile.Close
MsgBox "移動文件到 c:\tmp"
' 獲得C盤根目錄下的一個文件句柄。
Set fil1 = fso.GetFile("c:\testfile.txt")
' 將該文件移至 \tmp 目錄下。
fil1.Move ("c:\tmp\testfile.txt")
MsgBox "復制文件到 c:\temp"
' 將該文件復制到 \temp 目錄下。
fil1.Copy ("c:\temp\testfile.txt")
MsgBox "刪除文件"
' 獲得這些文件當前位置的句柄。
Set fil1 = fso.GetFile("c:\tmp\testfile.txt")
Set fil2 = fso.GetFile("c:\temp\testfile.txt")
' 刪除這些文件。
fil1.Delete
fil2.Delete
MsgBox "全部完成!"

方法二
使用隨機文件訪問

File System Object 模式不提供隨機文件創建或訪問方法。如果需要創建或讀取隨機文件,此信息將能幫助您。

隨機型訪問文件中的位元組構成相同的一些記錄,每個記錄包含一個或多個欄位。具有一個欄位的記錄對應於任一標准類型,比如整數或者定長字元串。具有多個欄位的記錄對應於用戶定義類型。例如,下邊所定義的 Worker Type 創建由三個欄位組成的 19 個位元組的記錄。

Type Worker
LastNameAs String * 10
TitleAs String * 7
RankAs String * 2
End Type

聲明變數
在應用程序打開以隨機型訪問的文件以前,應先聲明所有用來處理該文件數據所需的變數。這包括用戶定義類型的變數,它對應該文件中的記錄,和標准類型的其它變數,這些變數保存為隨機型訪問而打開的文件與處理相關的數據

定義記錄類型
在打開一個文件進行隨機訪問之前,應定義一個類型,該類型對應於該文件包含或將包含的記錄。例如,一個雇員記錄文件可定義一個稱為 Person 的用戶定義的數據類型,如下所述:

Type Person
ID As Integer
MonthlySalary As Currency
LastReviewDate As Long
FirstName As String * 15
LastName As String * 15
Title As String * 15
ReviewComments As String * 150
End Type

在類型定義中聲明欄位變數
因為隨機訪問文件中的所有記錄都必須有相同的長度,所以固定的長度對用戶定義類型中的各字元串元素通常很有用,就象以上的 Person 類型說明中所示的一樣,在此作為例子,FirstName 與 LastName 都具有 15 個字元的固定長度。

如果實際字元串包含的字元數比它寫入的字元串元素的固定長度少,則 Visual Basic 會用空白(字元代碼 32)來填充記錄中後面的空間。還有,如果字元串比欄位的尺寸長,則它就會被截斷。如果使用 長度可變的字元串,則任何用 Put 存儲的或用 Get 檢索的記錄總長度都不能超過在 Open 語句的 Len 分句中所指定的記錄長度。

聲明其它變數
在定義與典型記錄對應的類型以後,應接著聲明程序需要的任何其它變數,用來處理作為隨機訪問而打開的文件。例如:

'記錄變數。
Public Employee As Person
'跟蹤當前記錄。
Public Position As Long
'文件中最後那條記錄的編號。
Public LastRecord As Long

打開隨機訪問的文件
要打開隨機訪問的文件,Open 語句使用以下語法:

Open pathname [For Random] As filenumber Len = reclength

因為 Random 是預設的訪問類型,所以 For Random 關鍵字是可選項。

表達式 Len = reclength 指定了每個記錄的尺寸in bytes. Note that every string variable in Visual Basic stores a Unicode string and that you must specify the byte length of that Unicode string。如果 reclength 比寫文件記錄的實際長度短,則會產生一個錯誤。如果 reclength 比記錄的實際長度長,則記錄可寫入,只是會浪費些磁碟空間。

可用以下代碼打開文件:

Dim FileNum As Integer, RecLength As Long, Employee As Person

'計算每條記錄的長度。
RecLength = LenB(Employee)
'取出下一個可用文件編號。
FileNum = FreeFile
'用 Open 語句打開新文件。
Open "MYFILE.FIL" For Random As FileNum Len = RecLength

編輯隨機型訪問打開的文件
如要編輯隨機型訪問的文件,請先把記錄從文件讀到程序變數,然後改變各變數的值,最後,把變數寫回該文件。後面各節討論如何編輯隨機型訪問打開的文件。

把記錄讀入變數
使用 Get 語句把記錄復制到變數。例如,要把一個記錄從雇員記錄文件拷貝到 Employee 變數,可使用以下代碼:

Get FileNum, Position, Employee

在這行代碼中,FileNum 包含用於打開文件的 Open 語句的編號;Position 包含要拷貝的記錄數;而 Employee 聲明為用戶定義類型 Person,它用來接收記錄的內容。

把變數寫入記錄
使用 Put 語句把記錄添加或者替換到隨機型訪問打開的文件。

替換記錄
要替換記錄,請使用 Put 語句,指定想要替換的記錄位置,例如:

Put #FileNum, Position, Employee

這個代碼將用 Employee 變數中的數據來替換由 Position 所指定的編號的記錄。

添加記錄
要向隨機訪問打開的文件的尾端添加新記錄,應使用前述代碼段中所示的 Put 語句。把 Position 變數的值設置為比文件中的記錄數多 1。例如,要在一個包含五個記錄的文件中添加一個記錄,把 Position 設置為 6。

下述語句把一個記錄添加到文件的末尾:

LastRecord = LastRecord + 1
Put #FileNum, LastRecord, Employee

刪除記錄
通過清除其欄位可以刪除一個記錄,但是該記錄仍在文件中存在。通常文件中不能有空記錄,因為它們會浪費空間且會干擾順序操作。最好把餘下的記錄拷貝到一個新文件,然後刪除老文件。

要清除隨機訪問文件中刪除的記錄,請按照以下步驟執行:
創建一個新文件。
把有用的所有記錄從原文件復制到新文件。
關閉原文件並用 Kill 語句刪除它。
使用 Name 語句把新文件以原文件的名字重新命名。

方法三
使用順序文件訪問
推薦您使用 File System Objects 來創建文本文件,但該信息只在需要使用舊文本文件創建方法時才提供。

當要處理只包含文本的文件時,比如由典型文本編輯器所創 建的文件-也就是說,其中的數據沒有分成記錄的文件,使用順序型訪問最好。順序型訪問不太適於存儲很多數字,因為每個數字都要按字元串存儲。一個四位數將需要 4 個位元組的存儲空間,而不是作為一個整數來存儲時只需的 2 個位元組。

打開順序訪問文件
當以順序型訪問打開一個文件時,可執行以下操作:

從文件輸入字元 (Input)

向文件輸出字元 (Output)

把字元加到文件 (Append)
要順序型訪問打開一個文件,Open 語句使用以下語法:

Open pathname For [Input | Output | Append] As filenumber [Len = buffersize]

當打開順序文件作為 Input 時,該文件必須已經存在,否則,會產生一個錯誤。然而,當打開一個不存在的文件作為 Output 或 Append 時,Open 語句首先創建該文件,然後再打開它。

當在文件與程序之間拷貝數據時,選項 Len 參數指定緩沖區的字元數。

在打開一個文件 Input、Output 或 Append 以後,在為其它類型的操作重新打開它之前必須先使用 Close 語句關閉它。

編輯為順序訪問打開的文件
如果要編輯一個文件,先把它的內容讀入到程序變數,然後改變這些變數,最後再把這些變數寫回到該文件。以下各節討論如何編輯以順序型訪問打開的各記錄。

從文件中讀取字元串
要檢索文本文件的內容,應以順序 Input 方式打開該文件。然後使用 Line Input#,Input( ),或者 Input# 語句將文件拷貝到程序變數中。

Visual Basic 提供了一次讀寫順序文件一個字元或一行的語句和功能。

例如,以下代碼段逐行讀取一個文件:

Dim LinesFromFile, NextLine As String

Do Until EOF(FileNum)
Line Input #FileNum, NextLine
LinesFromFile = LinesFromFile + NextLine + Chr(13) + Chr(10)
Loop

盡管 Line Input # 到達回車換行時它會識別行尾,但是,當它把該行讀入變數時,不包括回車換行。如果要保留該回車換行,代碼必須添加。

也可以使用 Input # 語句,它讀取文件中所寫的一列的數字和/或字元串表達式。例如,要從一個郵件列表文件中讀取一行,可使用以下語句:

Input #FileNum, name, street, city, state, zip

可以使用 Input 函數來從文件向變數拷貝任意數量的字元,所給的變數大小應足夠大。例如,以下的代碼使用 Input 把指定數目的字元復制到變數。

LinesFromFile = Input(n, FileNum)

要將整個文件復制到變數,請使用 InputB 函數將位元組從文件復制到變數。因為InputB 函數返回一個 ANSI 字元串,您必須使用 StrConv 函數將 ANSI 字元串轉換為一個如下的 UNICODE 字元串:

LinesFromFile = StrConv(InputB(LOF(FileNum), FileNum), vbUnicode)
把字元串寫入文件
要在順序文件中存儲變數的內容,應以順序 Output 或 Append 打開它,然後使用 Print # 語句。例如,文本編輯器可以使用以下代碼行來把一個文本框的內容拷貝到文件。

Print #FileNum, TheBox.Text

Visual Basic 也支持 Write # 語句,它把一列數字和/或字元串表達式寫入文件。它自動地用逗號分開每個表達式,並且在字元串表達式端放置引號。

Dim AnyString As String, AnyNumber As Integer

AnyString = "AnyCharacters"
AnyNumber = 23445
Write #FileNum AnyString, AnyNumber

這個代碼段把兩個表達式寫入由 FileNum 指定的文件。第一個表達式包含一個字元串而第二個包含數字 23445。因而,Visual Basic 把以下的字元(包括所有標點符號)寫入到文件中:

"AnyCharacters",23445

注意 如果正在用順序型訪問的 Write # 與 Input # 語句,可考慮換用隨機型 或二進制型訪問,因為它們更適合面向於記錄的數據。

方法四
使用二進制文件訪問
File System Object 模式不提供二進制文件創建或訪問方法。如果需要創建或讀取二進制文件,此信息將會幫助您做到。

二進制訪問能提供對文件的完全控制,因為文件中的位元組可以代表任何東西。例如,通過創建長度可變的記錄可保存磁碟空間。當要保持文件的尺寸盡量小時,應使用二進制型訪問。

注意 當把二進制數據寫入文件中時,使用變數是 Byte 數據類型的數組的,而不是 String 變數。 String 被認為包含的是字元,而二進制型數據可能無法正確地存在 String 變數中。

打開二進制型訪問的文件
要為二進制型訪問打開文件,應使用以下 Open 語句的語法:

Open pathname For Binary As filenumber

可以看到,二進制訪問中的 Open 與隨機存取的 Open 不同,它沒有指定 Len = reclength。如果在二進制型訪問的 Open 語句中包括了記錄長度,則被忽略。

在長度可變的欄位中保存信息
為了更好地了解二進制型訪問,考慮有一個雇員記錄文件。這個文件用長度固定的記錄和欄位來儲雇員的信息。

Type Person
ID As Integer
MonthlySalary As Currency
LastReviewDate As Long
FirstName As String * 15
LastName As String * 15
Title As String * 15
ReviewComments As String * 150
End Type

不管欄位的實際內容如何,該文件每條記錄都佔用 209 個位元組。

通過使用二進制型訪問可使磁碟空間的使用降到最小。因為這不需要固定長度的欄位,類型聲明語句可以省略字元串長度參數。

Type Person
ID As Integer
MonthlySalary As Currency
LastReviewDate As Long
FirstName As String
LastName As String
Title As String
ReviewComments As String
End Type

Public Empl As Person '定義記錄。

因為各欄位長度是可變的,所以在雇員記錄文件中每個雇員記錄只存儲在精確所需的位元組中。用長度可變欄位來進行二進制輸入/輸出的缺點,是不能隨機地訪問記錄-必須順序地訪問記錄以了解每一個記錄的長度。可以直接查看文件中指定位元組的位置,但是,如果記錄的長度可變,則無法直接知道哪條記錄在哪個位元組處。

㈧ vb中,怎樣在文本控制項中打開任意一個文本文件(路徑由其他控制項選取)

大概思路
打開該文件,讀取該文件,寫入相應的控制項中。
希望對你有幫助
不清楚再聯系吧~

㈨ VB如何讀取大的文本文件

可以用以下的代碼來編寫讀代碼:
open
"文件名"
for
input
as
#1
do
while
not
eof(1)
line
input
#1,aspect$
whole$=whole$+aspect$+chr$(13)+chr$(10)
loop
text1.text=whole$
close
#1
open
"文件名"
for
output
as
#1
print
#1
,text1.text
close
#1
可以用以下的代碼來編寫寫代碼:
open
"文件名"
for
output
as
#1
a$=inputbox("請輸入信息")
do
while
a$<>-1
write
#1,a$
a$=inputbox("請輸入信息")
loop
close
#1

㈩ vb 打開文本文件

Shell
"NotePad"
&
"D:\1.txt",
vbNormalNoFocus
拼接命令串,notepad
後面要有空格啊同志,notepad
d:\1.txt,如果文件不是8.3格式的,要加引號notepad
」******.****「

閱讀全文

與vb打開文本文件相關的資料

熱點內容
ioscocoa4app 瀏覽:357
linux上下載文件 瀏覽:766
頭條下載的壓縮文件保存在哪裡 瀏覽:165
安卓系統自帶的編程軟體哪個好 瀏覽:615
很欲的耽美電影 瀏覽:736
一個光頭胖子叫爸爸的電影 瀏覽:514
命令行編譯驅動程序 瀏覽:426
cad標注文件包 瀏覽:368
b2c大數據 瀏覽:232
主角修煉出體內世界的小說 瀏覽:883
許大地網路營銷課程 瀏覽:110
win7電腦c盤哪些文件可以刪除 瀏覽:63
無字幕的網站 瀏覽:914
一部電影日本跟學校有關 瀏覽:595
查詢寧鄉公交用什麼app 瀏覽:371
cms網站模板 瀏覽:456
有什麼電影露奶子 瀏覽:907
S7edge支持微信指紋么 瀏覽:83
win10跨平台 瀏覽:343
qq暴走gif動態圖片製作 瀏覽:340

友情鏈接