VB中怎样把Text1的内容写入到一个有文字的txt的某一行?

我要写入到txt的第16行,并且要覆盖原来的第16行... 我要写入到txt的第16行,并且要覆盖原来的第16行 展开
 我来答
mijing2000
2011-08-09 · TA获得超过282个赞
知道小有建树答主
回答量:372
采纳率:0%
帮助的人:312万
展开全部
Sub ReplaceTxt(TxtFilePath As String, ReplaceStr As String, Line As Integer) 'TxtFilePath表示txt文件路径,ReplaceStr表示用ReplaceStr覆盖原来的,Line表示覆盖第Line行
Dim i As Integer, FileNum As Integer
Dim TempStr As String, TxtLine() As String
FileNum = FreeFile
If Dir(TxtFilePath) = "" Then
Open TxtFilePath For Output As #FileNum
Close #FileNum
End If
Open TxtFilePath For Input As #FileNum
Do While Not EOF(1)
i = i + 1
ReDim Preserve TxtLine(1 To i) As String
Line Input #FileNum, TempStr
TxtLine(i) = TempStr
Loop
Close #FileNum
TxtLine(Line) = ReplaceStr
Open TxtFilePath For Output As #FileNum
For i = 1 To UBound(TxtLine)
Print #FileNum, TxtLine(i)
Next
Close #FileNum
End Sub

Private Sub Command1_Click()
Call ReplaceTxt("d:\2.txt", "this is a test", 16) '调用示例
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
abcnyzay
2011-08-09 · TA获得超过1377个赞
知道小有建树答主
回答量:928
采纳率:100%
帮助的人:1033万
展开全部
Private Sub Command1_Click()
iii = 16 '第几行
Dim arr() As Byte
Open "E:\1.txt" For Binary As #1
ReDim arr(1 To LOF(1))
Get #1, , arr
Close #1
arr1 = Split(StrConv(arr, vbUnicode), vbCrLf)
If iii - 1 < UBound(arr1) + 1 Then arr1(iii - 1) = Text1
Open "E:\2.txt" For Output As #1
Print #1, Join(arr1, vbCrLf)
Close #1
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-09
展开全部
如果你是软件配置之类的,建议用vb操作ini
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tunei728
2011-08-09 · 贡献了超过188个回答
知道答主
回答量:188
采纳率:0%
帮助的人:108万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式