99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

VBA從順序文件中讀取字符

2021-12-08 14:32 更新

假設你的程序需要檢查文件Autoexec.bat里出現了多少個冒號,你可以使用函數Input來返回特定的字符數,而不必讀取整行。接下來,If語句用來比較獲取的字符和你尋找的字符。在寫過程之前,我們來看看函數Input的語法:

Input(number, [#]filenumber)

Input函數的兩個參數都是必須的,number明確你要讀取的字符數,而filenumber是Open語句用來打開文件的同一個數字。Input函數返回所有讀取的字符,包括逗號,回車,文件結束字符,引號和前導空格。


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函數允許你返回順序文件的任何字符。如果你使用VB函數LOF作為Input函數的第一個參數時,你將能夠快速地讀取順序文件里的內容,而不需要在整個文件上循環(huán)。LOF函數返回一個文件上的字節(jié)數。每個字節(jié)對應了文本文件里的一個字符。過程ReadAll將文件System.ini的內容讀取到立即窗口里:


除了將文件內容打印到立即窗口之外,你還可以將其讀取到一個文本框并且放置到工作表中去(見圖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)的內容顯示在工作表中的文本框里


在你運行上面的程序之前,你得在工作表里畫一個文本框。注意,On Error GoTo CloseFile語句激活錯誤捕捉,如果錯誤在程序的執(zhí)行過程中發(fā)生了,就會立即跳到CloseFile標簽處,Close #1

語句無論有無錯誤發(fā)生都會被執(zhí)行。






以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號