我想只在我拥有的文本框中显示数字。目前,我的代码读取文本文件并将所有代码添加到文本框中,而不仅仅是所需的文本(这些是数字)。
tbRecipient.Text = My.Computer.FileSystem.ReadAllText("filepath")
如果有人能指出我正确的方向并告诉我如何解决这个问题,那就太棒了。
我有一个包含以下内容的文件:
Steve, 017876
Alan, 098578
...
我想从文件中获取数字后,只将数字列入文本框。 为此我正在使用:
Dim i As Integer
For i = 0 To cbRecipients.CheckedItems.Count - 1
My.Computer.FileSystem.WriteAllText("filepath", cbRecipients.CheckedItems.Item(i) & vbCrLf, True)
Next
frmHome.myFunction()
然后在myFunction()下面是: tbRecipient.Text = My.Computer.FileSystem.ReadAllText(“filepath”)
答案 0 :(得分:0)
您可以使用此功能:
Function GetFileColumnContents(s_Path As String, ColumnNumber As Long, ColumnDelimiter As String, Optional s_OutputDelimiter As String) As String
On Error GoTo ErrHandler
Open s_Path For Input As #1 'Open the txt file for readin as Temporary File Number 1
Do While Not EOF(1) 'Read line bu line until end of file
Line Input #1, Mystring 'Store the line value in Mystring
GetFileColumnContents = GetFileColumnContents & s_OutputDelimiter & Split(Mystring, ColumnDelimiter)(ColumnNumber - 1) 'process the string
Loop
ErrHandler:
Close #1
End Function
调用subrutine:
tbRecipient.Text = GetFileColumnContents("filepath", 2, ",", vbCrLf)
编辑: linenum = linenum + 1 在函数中是不必要的(上面编辑过的)
s_Path:是txt文件的路径(如“C:\ Test.txt”)
ColumnNumber:是文本文件中的列。如果数据如下:
然后ColumnNumber 1是字母,ColumnNumber 2是数字,3是颜色。
(ColumnNumber - 1)是因为split的第一部分有索引0,但ColumnNumber是1
split("A, 123, red",",")(0) 'results to "A"
split("A, 123, red",",")(1) 'results to " 123"
如果要列出文本文件第2列中的项目以及用逗号分隔的结果,请使用逗号作为最后一个参数调用该函数:
tbRecipient.Text = GetFileColumnContents("filepath", 2, ",", ",")