TextBox 有 SelectionStart 和 SelectionLength 两个属性,分别代表选中字符(也就是查找之后高亮的那部分)的起始位置和长度。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站制作、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的叶集网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
string 类型本身有方法 IndexOf(),可以获取某个字符串第一次出现的位置,把这个值赋值给 SelectionStart,把这个字符串的 Length 赋值给 SelectionLength,这就是查找并高亮功能了。
替换的话就是 Replace() 方法。
Replace函数 \x0d\x0a描述\x0d\x0a返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。\x0d\x0a语法\x0d\x0aReplace(expression, find, replacewith[, start[, count[, compare]]])\x0d\x0aReplace函数语法有如下几部分:\x0d\x0a部分描述expression必需的。字符串表达式,包含要替换的子字符串。find必需的。要搜索到的子字符串。replacewith必需的。用来替换的子字符串。start可选的。在表达式中子字符串搜索的开始位置。如果忽略,假定从1开始。count可选的。子字符串进行替换的次数。如果忽略,缺省值是 _1,它表明进行所有可能的替换。compare可选的。数字值,表示判别子字符串时所用的比较方式。关于其值,请参阅“设置值”部分。\x0d\x0a\x0d\x0a设置值\x0d\x0acompare参数的设置值如下:\x0d\x0a常数值描述vbUseCompareOption_1使用Option Compare语句的设置值来执行比较。vbBinaryCompare0执行二进制比较。vbTextCompare1执行文字比较。vbDatabaseCompare2仅用于Microsoft Access。基于您的数据库的信息执行比较。\x0d\x0a\x0d\x0a返回值\x0d\x0aReplace的返回值如下:\x0d\x0a如果Replace返回值expression长度为零零长度字符串("")。expression为Null一个错误。find长度为零expression的复本。replacewith长度为零expression的复本,其中删除了所有出现的find 的字符串。start Len(expression)长度为零的字符串。count is 0expression.的复本。\x0d\x0a\x0d\x0a说明\x0d\x0aReplace函数的返回值是一个字符串,但是,其中从start所指定的位置开始,到expression字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。
变通的方法:
首先 把List 替换为一个其他的字符串如OOO,要全字匹配替换。然后替换List为fList,然后再把OOO替换为List。
步骤如下:
窗体上添加2个列表框,一个按钮:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyDir As String = "C:\123"
'搜索并显示子文件夹
ListBox1.Items.Clear()
For Each MySubDir As String In System.IO.Directory.GetDirectories(MyDir)
ListBox1.Items.Add(MySubDir)
Next
'搜索并显示文件
ListBox2.Items.Clear()
For Each MyFile As String In System.IO.Directory.GetFiles(MyDir)
ListBox2.Items.Add(MyFile)
Next
End Sub
End Class
我默认路径为d:\aa.txt,d:\bb.txt,请自己修改。建Command1.代码如下。
==================
Option
Explicit
Private
Sub
Command1_Click()
Dim
aa
As
String,
bb
As
String
Open
"d:\aa.txt"
For
Input
As
1
Open
"d:\bb.txt"
For
Input
As
2
Open
"d:\cc.txt"
For
Output
As
3
Do
Until
EOF(1)
Line
Input
#1,
aa
If
EOF(2)
Then
#3,
aa
Else
Line
Input
#2,
bb:
#3,
IIf(Right(aa,
1)
=
"
",
bb,
aa)
Loop
Close
Kill
"d:\aa.txt"
Name
"d:\cc.txt"
As
"d:\aa.txt"
MsgBox
"替换完毕。"
End
Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'On Error GoTo EXIT_ERROR
Dim strErrorPos As String = "F_TreatOne"
Dim strFileName As String
strFileName = "d:\test.xlsx"
Dim objExcelApp As New Microsoft.Office.Interop.Excel.Application
Dim objWorkBook As Microsoft.Office.Interop.Excel.Workbook
Dim objSheet As Microsoft.Office.Interop.Excel.Worksheet
objWorkBook = objExcelApp.Workbooks.Open(strFileName)
objSheet = objWorkBook.Worksheets(1)
objSheet.UsedRange.Replace("aaa", "bbb")
objWorkBook.Save()
objWorkBook.Close()
objExcelApp.Quit()
objWorkBook = Nothing
objExcelApp = Nothing
End Sub
需要的话,自已再适当修改修改.
项目中需要加对Microsoft.Office.Interop.Excel的引用.