W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
假設(shè)你的程序需要檢查文件Autoexec.bat里出現(xiàn)了多少個冒號,你可以使用函數(shù)Input來返回特定的字符數(shù),而不必讀取整行。接下來,If語句用來比較獲取的字符和你尋找的字符。在寫過程之前,我們來看看函數(shù)Input的語法:
Input(number, [#]filenumber)
Input函數(shù)的兩個參數(shù)都是必須的,number明確你要讀取的字符數(shù),而filenumber是Open語句用來打開文件的同一個數(shù)字。Input函數(shù)返回所有讀取的字符,包括逗號,回車,文件結(jié)束字符,引號和前導(dǎo)空格。
1. 在SeqFile模塊里輸入下述過程Colons:
Sub Colons()
Dim counter As Integer
Dim char As String
counter = 0
Open "C:\Autoexec.bat" For Input As #1
Do While Not EOF(1)
char = Input(1, #1)
If char = ":" Then
counter = counter + 1
End If
Loop
If counter <> 0 Then
MsgBox "Characters found: " & counter
Else
MsgBox "The specified character has not been found."
End If
Close #1
End Sub
2. 逐句執(zhí)行該過程
3. 將冒號換成其它你想尋找的字符并且重新執(zhí)行該程序。Input函數(shù)允許你返回順序文件的任何字符。如果你使用VB函數(shù)LOF作為Input函數(shù)的第一個參數(shù)時,你將能夠快速地讀取順序文件里的內(nèi)容,而不需要在整個文件上循環(huán)。LOF函數(shù)返回一個文件上的字節(jié)數(shù)。每個字節(jié)對應(yīng)了文本文件里的一個字符。過程ReadAll將文件System.ini的內(nèi)容讀取到立即窗口里:
除了將文件內(nèi)容打印到立即窗口之外,你還可以將其讀取到一個文本框并且放置到工作表中去(見圖8-2):
Sub WriteToTextBox()
Dim mysheet As Worksheet
Set mysheet = ActiveWorkbook.Worksheets(1)
On Error GoTo CloseFile
Open "C:\WINNT\System.ini" For Input As #1
mysheet.Shapes(1).Select
Selection.Characters.Text = Input(LOF(1), #1)
CloseFile:
Close #1
End Sub
圖8-2 文件TDate.ini(原文為System.ini)的內(nèi)容顯示在工作表中的文本框里
在你運行上面的程序之前,你得在工作表里畫一個文本框。注意,On Error GoTo CloseFile語句激活錯誤捕捉,如果錯誤在程序的執(zhí)行過程中發(fā)生了,就會立即跳到CloseFile標(biāo)簽處,Close #1
語句無論有無錯誤發(fā)生都會被執(zhí)行。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: