vb text删除指定行

text中内容如下:1.........2....要求删除1至2之间的内容并替换成text2中的内容,1和2行内容要保留!谢谢!非常感谢clk186的解答!现在有个新的问... text中内容如下:
1...
...
...
2....
要求删除1至2之间的内容并替换成text2中的内容,1和2行内容要保留!谢谢!
非常感谢clk186的解答!现在有个新的问题,如果text中还有其他内容不在1和2行之间,也被删了,
展开
 我来答
风雪剑无痕
2012-06-07 · TA获得超过1253个赞
知道大有可为答主
回答量:1691
采纳率:100%
帮助的人:1670万
展开全部
看到楼主的补充,那么我就要修改我的回答了,那么我就又要下滑几楼了,本来一开始写的就是搜索指定文本,后来想想还是指定行吧~

Private Sub Command1_Click()
Dim a, i%, s1$, s2$
a = Split(Text1.Text, vbCrLf)
For i = 0 To UBound(a)
If InStr(a(i), "1") Then s1 = a(i) '查找关键字1
If InStr(a(i), "2") Then s2 = a(i) '查找关键字2
Next
Text1.Text = s1 & vbCrLf & Text2.Text & vbCrLf & s2
End Sub

s1和s2分别代表保留包含指定文本的行,反之就是删除替换该行,你说的1和2行内容要保留!谢谢!s1代表第一行,以此类推

稍微改一句上面的代码和调整这句代码的顺序就行了
我还说了,反之就是删除替换该行,也可以思考一下
由于修改次数有限制,如果你老是补充,不追问的话,超过限制我就没法回答了...
追问
呃!不好意思,之前都是在手机上操作的不太方便!
你的代码我试了,也稍微的修改了下,但是如果text中含有多个1和2行,他只会选择最后一个1和2行的内容,这个就不知怎么该了,能否再麻烦一下,不好意思!我会再追加分数!谢谢!
追答
谁推荐的,这么不负责任^_^

Private Sub Command1_Click()
Dim a, i%
a = Split(Text1.Text, vbCrLf)
For i = 0 To UBound(a)
If InStr(a(i), "1") <= 0 And InStr(a(i), "2") <= 0 Then: a(i) = Text2.Text
Next
Text1.Text = ""
For i = 0 To UBound(a)
Text1.Text = Text1.Text & a(i) & vbCrLf
Next
End Sub

如果text中还有其他内容不在1和2行之间,也被删了,脑袋疼...你等大神吧
850842614
2012-06-05 · 超过11用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:32万
展开全部
Function getStr(Str, FirstStr, EndStr) As String
Dim I As Long
Dim T As Long
Dim J As Long
Dim Arr
Arr = Split(Str, vbCrLf)
For J = 0 To UBound(Arr)
If InStr(1, Arr(J), FirstStr) Then

I = J '''找到并记录1所在行

End If
If InStr(1, Arr(J), EndStr) Then

T = J ''''找2所在行

End If

Next
'''''拼接需要的字符
For J = 0 To UBound(Arr)
If I = T Then
getStr = getStr & Arr(J)
Else
If I < T Then
If I >= J Or T <= J Then
getStr = getStr & Arr(J)
End If
Else
If T >= J Or I <= J Then
getStr = getStr & Arr(J)
End If
End If
End If

Next

End Function
调用这个函数就可以实现!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iwlyx
2012-06-04 · TA获得超过4825个赞
知道大有可为答主
回答量:5599
采纳率:50%
帮助的人:4764万
展开全部
每行都用句号隔开然后 substring(‘。’)比较方便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chinaboyzyq
2012-06-04 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3214万
展开全部
Private Sub Command1_Click()
Dim i As Integer, j As Integer, s1 As String, s2 As String
s1 = Left(Text1, InStr(Text1, vbCrLf) + 1)
s2 = Mid(Text1, InStr(Text1, 2))
Text1 = s1 & Text2 & vbCrLf & s2
End Sub

Private Sub Form_Load()
Text1 = "1..." & vbCrLf & "..." & vbCrLf & "..." & vbCrLf & "2...."
Text2 = "abc" & vbCrLf & "def"
End Sub
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f619527dc7
2012-06-04 · TA获得超过152个赞
知道小有建树答主
回答量:281
采纳率:100%
帮助的人:198万
展开全部
读出1行和2行重写一个文件比较简单。直接删除的话比较难。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式