从文本文件读取?
Ok i';我回来了(仍在努力适应它)我有一个关于阅读文本文件的问题
我有一个文本文件,上面有这样的行:
a-ANNO-DIMS;尺寸界线/尺寸界线、标注终止符、标注文字;不断的35;7.1.LayerCreator
(全部一行不换行)我也有这个代码[代码问题是,当我运行它时,它会在逗号#039;s#160;我怎样才能把它送到a。将该行读作一行。读这行并在分号处分开
这将是最好的选择,然后我可以为每个变量设置变量(列表是数组吗?)
无论如何,这是#160;从我编写的layercreator程序中,我可以尝试将其移植到vba
TIA
时间不多,所以我希望我能做到这一点……我用了这样的东西Public Sub ReadMyFile()
Dim inputfile As String
inputfile = "C:\myfile.txt"
Dim DataFile As Integer
DataFile = FreeFile
Dim Dataline As String
Open inputfile For Input As #DataFile
While Not EOF(DataFile)
Line Input #DataFile, Dataline
' now you've got the line so do your stuff here
Wend
Close #DataFile
end sub 您可能想看看替换方法,用分号替换行中的逗号,反之亦然。然后可以使用split函数从行返回数组,这将用逗号替换分号replace(dataline,";",",",,,vbBinaryCompare) 然后使用该分隔符将线拆分为数组dim LineArray as variant
LineArray =Split(dataline,",",,vbBinaryCompare)
这里有一种方法,将每一行传递给一个函数Sub TestParse()
Dim sLine As String
Dim Thang
sLine = "A-ANNO-DIMS;Witness/extension lines, dimension terminators, dimension text;Continuous;35;7;1;LayerCreator;"
Thang = ParseLayerInfo(sLine)
For i = 0 To UBound(Thang)
Debug.Print Thang(i)
Next
End Sub
Public Function ParseLayerInfo(sLine As String) As Variant
Dim Pos1 As Long, Pos2 As Long
Dim i As Integer
Dim vInfo(6) As String
Pos1 = InStr(1, sLine, ";")
vInfo(0) = Left(sLine, Pos1 - 1)
For i = 1 To 6
Pos2 = InStr(Pos1 + 1, sLine, ";")
vInfo(i) = Mid(sLine, Pos1 + 1, (Pos2 - Pos1) - 1)
Pos1 = Pos2
Next i
ParseLayerInfo = vInfo
End Function
页:
[1]