十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Private Sub Command1_Click()
创新互联公司2013年至今,先为杨浦等服务建站,杨浦等地企业,进行企业商务咨询服务。为杨浦企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
Dim a$, b$
Open "c:\1.txt" For Input As #1 '假设你的文本文件叫1.txt,在C盘
Do While Not EOF(1)
Line Input #1, a
b = b a
Loop
Close #1
Print b '得到的数放在变量b里面,没有换行的.只有数字. 不知道你是这个意思吧
End Sub
trim只能去除空字符,replace去除了所有的vbcrlf,要考虑保留字符串中间的vbcrlf,还要考虑字符串最后的换行符可能会有多个...如下是个思路:
Function myTrim(ByVal s As String) As String
Dim Length As Long
Dim Char As String
s = Trim(s)
Length = Len(s) + 1
Do
Length = Length - 1
Char = Mid(s, Length, 1)
Loop Until Char vbCr And Char vbLf
myTrim = Mid(s, 1, Length)
End Function
'测试
Private Sub Command1_Click()
Dim s As String
s = "ABC" vbCrLf vbCrLf
Debug.Print myTrim(s); Len(myTrim(s))
End Sub
这是VB在读多行文件时出现的问题,最后行多了换行字符。
可以用Left 函数来取去除最后换行字符的文本。
Left 函数
返回 Variant
(String),其中包含字符串中从左边算起指定数量的字符。
Len 函数
返回 Long,其中包含字符串内字符的数目。
Option Explicit
Dim s As String
Dim i As Long
Dim fname As String
Dim strWj As String
Private Sub Command1_Click()
' 设置“CancelError”为 True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
' 设置标志
CommonDialog1.Flags = cdlOFNHideReadOnly
' 设置过滤器
CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" _
"(*.txt)|*.txt|Batch Files (*.bat)|*.bat"
' 指定缺省的过滤器
CommonDialog1.FilterIndex = 2
' 显示“打开”对话框
CommonDialog1.ShowOpen
' 显示选定文件的名字
'MsgBox CommonDialog1.FileName
Open CommonDialog1.FileName For Input As #1
Do Until EOF(1)
Line Input #1, s
strWj = strWj s vbCrLf
i = i + 1
Loop
Text3 = i
Close #1
Text1 = Left(strWj, Len(strWj) - 2) '去除读入文本多余的换行符。
Debug.Print Len(strWj)
Debug.Print Len(Text1)
Exit Sub
ErrHandler:
' 用户按了“取消”按钮
Exit Sub
End Sub
Private Sub Command1_Click()
'写文件示例
Dim strFileName As String '文件名
Dim lngHandle As Long '句柄
Dim strWrite As String '要写入的文本内容
strFileName = App.Path "\a.txt"
''''''''App.Path "\a.txt"相对路径
''"c:\w.txt"绝对路径
lngHandle = FreeFile() '取得句柄
'准备要写入的内容
strWrite = Text1.Text '或者 strWrite = "这些文字将被写入文件。"
'For后面的参数表示以何种方式打开文件,Input是读取,Output是覆盖写入,Append是追加写入
''''''append是每次在文件末尾写入,不删除其它已经存在的文件.如果换成output则删除其它文件后再写入
''''''print#1,text1.text ''''''如果print换成write则写进txt中后自动加双引号
Open strFileName For Output As lngHandle '打开文件
Print #lngHandle, strWrite '写入文本
Close lngHandle '关闭文件
End Sub
Private Sub Command2_Click()
'读文件示例
Dim strFileName As String '文件名
Dim lngHandle As Long '文件句柄
Dim strAll As String '所读取的文本文件的所有内容
Dim strLine As String '在循环中存放每行的内容
strFileName = App.Path "\a.txt"
'获得文件的句柄
lngHandle = FreeFile()
'For后面的参数表示以何种方式打开文件,Input是读取,Output是覆盖写入,Append是追加写入
Open strFileName For Input As lngHandle
'循环直到文件尾
Do While Not EOF(lngHandle)
'每次读取一行存放在strLine变量中
Line Input #lngHandle, strLine
'每次读取都把所读到的内容连接到strAll变量,由于Line Input去掉了换行符,所以这里补上
strAllstrAll = strAll strLine vbCrLf
Loop
'显示得到的全部分内容
MsgBox strAll
End Sub
Private Sub Command1_Click()
Open App.Path "\a.txt" For Output As #1
Print #1, Text1.Text '这里可以是数据本身也可以是目标控件的属性
Close #1 '关闭打开的文件
End Sub
'For后面的参数表示以何种方式打开文件,Input是读取,Output是覆盖写入,Append是追加写入
append是每次在文件末尾写入,不删除其它已经存在的文件.如果换成output则删除其它文件后再写入 print#1,text1.text 如果print换成write则写进txt中后自动加双引号,以上就是数据保存为VB.NET TXT文件的代码。