0
我正在嘗試對VBA中的某些SAS代碼進行一些文本分析。我想跳過評論。一次讀取一個字符,直到VBA中的'*','%*'或'/ *'
但我只能找到一種方式來讀取一條線,使用Line Input
聲明。但是,這使得它真的很難避免的意見之一的同一行註釋掉的代碼,像
data _null_; *Comment;
所以我想知道是否有可能在VBA一次讀取一個字符,直到評論開局encounterd?
我正在嘗試對VBA中的某些SAS代碼進行一些文本分析。我想跳過評論。一次讀取一個字符,直到VBA中的'*','%*'或'/ *'
但我只能找到一種方式來讀取一條線,使用Line Input
聲明。但是,這使得它真的很難避免的意見之一的同一行註釋掉的代碼,像
data _null_; *Comment;
所以我想知道是否有可能在VBA一次讀取一個字符,直到評論開局encounterd?
由於文件很小,一個選擇是將整個文件讀入一個字節數組:
Dim handle As Long
Dim bytes() As Byte
Dim path As String
path = "C:\somefile.txt"
handle = FreeFile
Open path For Binary Access Read As handle
ReDim bytes(LOF(handle) - 1&)
Get handle, , bytes
Close handle
Dim char As Variant
For Each char In bytes
Debug.Print Chr$(char)
Next char
爲什麼不讀行成一個字符串變量,然後去掉所有不需要的評論? –
因爲一些註釋跨越多行。像/ *代碼*換行符*代碼*/ –
然後,您有更多的完整分析問題,可能最好通過應用於讀取到單個字符串的整個文件的正則表達式來處理。 –