可以使用InStr函数查找你读取的每一行中的‘,’逗号
然后结合使用Left或Right函数分解字符串
建立一个循环就可以赋值了
然后结合使用Left或Right函数分解字符串
建立一个循环就可以赋值了
解决方案 »
- 求一个网络通信的源代码(功能:通信,显示在线人数和名称,有信息到提示,只能给在线人发信息),谢谢!
- 装载控件的问题?????????????????
- 先给各位拜个早年,另请各位帮忙。
- 用API函数改写屏幕分辨率的问题?
- 如何判断某一文件夹是否存在呢?
- VB 通用对话框问题
- 网络报文来不及处理的问题
- vb中那个网格能编辑(用程序实现编辑的就算了),能排序?
- 我象申请一个免费空间,做个主页,请教各位大虾哪里的比较不错?
- 希望得到显示GIF文件的源代码,不要控件!!
- 为什么DTPicker控件显示"2002年1月1日"有些机器上显示为"2002-1-1"而在另外一些机器上显示为"2002-01-01"
- 一个奇怪的问题
Do Until EOF(1)
Line Input #1, strNextLine
'在这里按","分段取值
Loop
Close #1
'for example extract("ab,c,de",",",0) will get a value of "ab"
Public Function Extract(Text As String, strSeparator As String, ByVal Index As Long) As String
Dim strColl As New VBA.Collection
Dim lngStart As Long 'the first place finding begin
Dim lngLoc As Long 'the position of ","
Dim lngLocPrev As Long
Dim blnEnd As Boolean
blnEnd = False
lngStart = 1
lngLocPrev = 0
Do While Not blnEnd
lngLoc = VBA.InStr(lngStart, Text, strSeparator)
If lngLoc <> 0 Then
If (lngLoc <> lngStart) Then
strColl.Add VBA.Mid(Text, lngStart, lngLoc - lngStart)
End If
lngStart = lngLoc + VBA.Len(VBA.Trim(strSeparator))
Else
strColl.Add VBA.Mid(Text, lngStart)
blnEnd = True
End If
Loop
If (0 <= Index) And (Index < strColl.count) Then
Extract = VBA.Trim(strColl.Item(Index + 1))
Else
Extract = ""
End If
Set strColl = Nothing
End Function
str = 1,2.0,3,254,786.258,89
36.9,89.012,86,0,5
3.698
5.789,86.3str = str & ","
dim i as integer, j as integer, k as integer
k = 0
for i = 1 to strlen
j = instr(1,str,",", vbTextCompare)
if j <> 0 then
text1(k) = mid(str,1,j-1)
str = right(str,len(str) - j) '将字符串截短
k = k+1
else
exit for
end if
next