实现txt文件中的查找与替换功能
发布网友
发布时间:2022-04-23 15:00
我来回答
共3个回答
热心网友
时间:2023-10-05 05:16
Option Explicit'定义目标位置变量Private TP As Long '文本位置Private Function FindText(ByVal txt As TextBox, ByVal czgjz As String, ByVal wz As Long) As Boolean '查找函数'参数:txt为文本框控件名变量,czgjz为要查找的关键字,wz为开始位置'要查找下一个,只要让参数wz,每次都加一。If Len(txt.Text) < wz Then 'start_at参数有没超过范围 MsgBox "start_at参数超过范围!", vbOKOnly + vbExclamation, "警告" Exit FunctionEnd IfDim pos As Integer '位置pos = InStr(wz, txt.Text, czgjz) '查找If pos > 0 Then '找到了匹配字符串 txt.SelStart = pos - 1 '找到后,设置选定文本的起点位置 '选中找到的字符串 txt.SelLength = Len(czgjz) FindText = True '找到,返回真 txt.SetFocusElse '没有找到匹配的字符串 MsgBox "没有找到!", vbOKOnly + vbInformation, "温馨提示" txt.SetFocus FindText = False '没找到,返回假 Exit FunctionEnd IfEnd Function
Private Sub ReplaceText(ByVal txt As TextBox, ByVal czgjz As String, ByVal thgjz As String, ByVal wz As Long) '替换文本'参数:txt为文本框控件名变量,czgjz为替换前的关键字,thgjz为替换后的关键字,wz为开始位置If FindText(txt, czgjz, wz) Then '先判断是否查找到,再来替换 txt.SelText = thgjz '替换End IfEnd Sub
Private Sub CmdFind_Click() '查找If ftxt.Text = "" Then MsgBox "请输入要查找的字!", vbOKOnly + vbExclamation, "警告" Exit SubEnd IfFindText txt, ftxt.Text, 1End Sub
Private Sub CmdReplace_Click() '替换 If ftxt.Text = "" Then MsgBox "请输入要被替换的字!", vbOKOnly + vbExclamation, "警告" Exit Sub End If If rtxt.Text = "" Then MsgBox "请输入替换后的字!", vbOKOnly + vbExclamation, "警告" Exit Sub End If ReplaceText txt, ftxt.Text, rtxt.Text, 1End Sub
使用方法:一、查找: FindText( txt, czgjz, wz ) 中,各参数分别为:txt为文本框控件名变量,czgjz为要查找的关键字变量,wz为开始位置变量
二、替换:ReplaceText(txt,czgjz, thgjz, wz) 中,各参数分别为:txt为文本框控件名变量,czgjz为替换前的关键字变量,thgjz为替换后的关键字变量,wz为开始位置变量
热心网友
时间:2023-10-05 05:17
我用qq传给你
热心网友
时间:2023-10-05 05:17
编辑 菜单里面有