2015-11-13 33 views
0

我正在嘗試對VBA中的某些SAS代碼進行一些文本分析。我想跳過評論。一次讀取一個字符,直到VBA中的'*','%*'或'/ *'

但我只能找到一種方式來讀取一條線,使用Line Input聲明。但是,這使得它真的很難避免的意見之一的同一行註釋掉的代碼,像

data _null_; *Comment; 

所以我想知道是否有可能在VBA一次讀取一個字符,直到評論開局encounterd?

+0

爲什麼不讀行成一個字符串變量,然後去掉所有不需要的評論? –

+0

因爲一些註釋跨越多行。像/ *代碼*換行符*代碼*/ –

+0

然後,您有更多的完整分析問題,可能最好通過應用於讀取到單個字符串的整個文件的正則表達式來處理。 –

回答

1

由於文件很小,一個選擇是將整個文件讀入一個字節數組:

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 
相關問題