VB:如何导入更多的待处理中文文段?

来源:百度知道 编辑:UC知道 时间:2024/07/05 08:12:08
下面这些语句运行后能把输入的文章中的第奇数个(1、3、5、7……)b替换为c,第偶数个b替换为d,最终在text1.text中输出。但由于是用inputbox这种方式输入待处理文段(即语句中的a)的,所以每次只能输入126个字符。请问,要怎样改写语句,才能让输入的原始文段的字数不受限制?即不要用inputbox输入该用什么输入?能把整个.txt或.doc导入后再处理吗?

Private Sub Command1_Click()

a = InputBox("输入待处理文段")
b=inputbox(" 输入要替换的字符")
c=inputbox("输入第一个替换值")
d=inputbox("输入第二个替换值")
Dim s0 As Long, s2 As Long
s0 = 1
Do
s2 = InStr(s2 + 1, a, b)
If s2 = 0 Then Exit Do
If s0 Mod 2 = 1 Then Mid(a, s2, 1) = c Else Mid(a, s2, 1) = d
s0 = s0 + 1
Loop
Text1.Text = a
End Sub

如果inputbox限制字符数,那就建立一个新窗口,窗口中建立一个textbox和“输入”“取消”两个按钮。最好把这些打包做成一个类,来调用,就好像inputbox类一样。一时半会这能说这么多了。

Dim f As New FileInfo("D:\a.txt") '创建指定文件的实例f

Dim s As StreamReader = f.OpenText

a = s.ReadToEnd '把S关联文件的数据,用ReadToEnd方法读取并赋值给a

楼主下面的代码就不再重复了,还有,我用的版本是VS2005

可以啊,txt文件可以直接导入,如果简化的话就是:
dim strText as string
dim strTmp as string
a=inputbox(" 输入要替换的字符")
b=inputbox("输入第一个替换值")
open "某文件" for input as #1
do While eof(1)=false
lineinput #1,strtmp
strText =strText & strTmp & vbcrlf
loop
Text1.Text =replace(strText , a ,b)
应该是这个意思