vb 中 replace 的用法

vb 中 replace 的用法,第1张

替换字符串用的,比如:Print Replace(a,"ab","12")
这句意思是Print 替换a变量中的所有"ab"字符为"12"
----------
Replace函数 返回
描述
返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。
语法
Replace(expression, find, replacewith[, start[, count[, compare]]])
Replace函数语法有如下几部分:
部分 描述
expression 必需的。字符串表达式,包含要替换的子字符串。
find 必需的。要搜索到的子字符串。
replacewith 必需的。用来替换的子字符串。
start 可选的。在表达式中子字符串搜索的开始位置。如果忽略,假定从1开始。
count 可选的。子字符串进行替换的次数。如果忽略,缺省值是 -1,它表明进行所有可能的替换。
compare 可选的。数字值,表示判别子字符串时所用的比较方式。关于其值,请参阅“设置值”部分。
设置值
compare参数的设置值如下:
常数 值 描述
vbUseCompareOption -1 使用Option Compare语句的设置值来执行比较。
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文字比较。
vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。
返回值
Replace的返回值如下:
如果 Replace返回值
expression长度为零 零长度字符串("")。
expression为Null 一个错误。
find长度为零 expression的复本。
replacewith长度为零 expression的复本,其中删除了所有出现的find 的字符串。
start > Len(expression) 长度为零的字符串。
count is 0 expression的复本。
说明
Replace函数的返回值是一个字符串,但是,其中从start所指定的位置开始,到expression字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。

文本框有一个MultiLine属性,其值为true时才可以多行显示其中的内容,
但在默认情况下其值是false,所以不管其中的内容有没有回车字符,
它是不会换行的。
把Text1的这个属性值更改为TRUE即可。

VB中的函数,可实现d出窗口
作用:在对话框中显示消息,等待用户单击按钮,并返回一个 Integer 告诉用户单击哪一个按钮。
语法:
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
参数说明:
MsgBox 函数的语法具有以下几个命名参数:
Prompt-------必需的。字符串表达式,作为显示在对话框中的消息。prompt 的最大长度大约为 1024 个字符,由所用字符的宽度决定。如果 prompt 的内容超过一行,则可以在每一行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或是回车与换行符的组合 (Chr(13) & Chr(10)) 将各行分隔开来。
Buttons-------可选的。数值表达式是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则 buttons 的缺省值为 0。
Title-------可选的。在对话框标题栏中显示的字符串表达式。如果省略 title,则将应用程序名放在标题栏中。
Helpfile--------可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了 helpfile,则也必须提供 context。
Context-------可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了 context,则也必须提供 helpfile。
用于MsgBox函数中Button参数的常量
常量 值 说明
vbOKOnly 0 只显示“确定”按钮
VbOKCancel 1 显示“确定”和“取消”按钮
VbAbortRetryIgnore 2 显示“终止”、“重试”和“忽略” 按钮
VbYesNoCancel 3 显示“是”、“否”和“取消”按钮
VbYesNo 4 显示“是”和“否”按钮
VbRetryCancel 5 显示“重试”和“取消”按钮
VbCritical 16 显示“关键信息”图标
VbQuestion 32 显示“警告询问”图标
VbExclamation 48 显示“警告消息”图标
VbInformation 64 显示“通知消息”图标
vbDefaultButton1 0 第一个按钮是缺省值(缺省设置)
vbDefaultButton2 256第二个按钮是缺省值
vbDefaultButton3 512第三个按钮是缺省值
vbDefaultButton4 768第四个按钮是缺省值
vbApplicationModal 0应用程序强制返回;应用程序一直被挂起,直到用户对消息框
作出响应才继续工作
vbSystemModal 4096系统强制返回;全部应用程序都被挂起,直到用户对消息框作
出响应才继续工作
vbMsgBoxHelpButton 16384将Help按钮添加到消息框
VbMsgBoxSetForeground 65536指定消息框窗口作为前景窗口
vbMsgBoxRight 524288文本为右对齐
vbMsgBoxRtlReading 1048576指定文本应为在希伯来和阿拉伯语系统中的从右到左显示
说明:
(1)第一组值(0–5)描述了消息框中显示的按钮的类型与数目;第二组值(16,32,48,64)描述了图标的样式;第三组值(0,256,512,768)说明哪一个按钮是缺省值;而第四组值(0,4096)则决定消息框的强制返回性。将这些数字相加以生成Buttons参数值的时候,只能由每组值取用一个数字。
(2)这些常数都是 Visual Basic for Applications (VBA) 指定的。结果,可以在程序代码中到处使用这些常数名称,而不必使用实际数值。实际数值与常数名称是等价的。
返回值
用于MsgBox函数返回值的常量
常数 值 说明
vbOK 1 确定
vbCancel 2 取消
vbAbort 3 终止
vbRetry 4 重试
vbIgnore 5 忽略
vbYes 6 是
vbNo 7 否
(1) 如果同时提供了Helpfile与Context参数,可以按F1键来查看与Context相应的帮助主题,Excel通常会在输入框中自动添加一个帮助(Help)按钮。
(2)若在消息框中显示“取消”按钮,则按下ESC键与单击“取消”按钮效果相同。若消息框中有“帮助”按钮,则提供相关的帮助信息。
(3)如果要输入多个参数并省略中间的某些参数,则必须在相应位置加入逗号分界符。
示例
(1)(1)使用 MsgBox 函数,在具有“是”及“否”按钮的对话框中显示一条严重错误信息。示例中的缺省按钮为“否”,MsgBox函数的返回值视用户按哪一个钮而定。并假设DEMOHLP为一帮助文件,其中有一个帮助主题代码为1000。
Dim Msg,Style,Title,Help,Ctxt,Response,MyString
Msg="Do you want to continue " ’定义消息文本
Style = vbYesNo + vbCritical + vbDefaultButton2 ' 定义按钮
Title = "MsgBox Demonstration" ' 定义标题文本
Help = "DEMOHLP" ' 定义帮助文件
Ctxt = 1000 ' 定义帮助主题
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then ' 用户按下“是”
MyString = "Yes" ' 完成某 *** 作
Else ' 用户按下“否”
MyString = "No" ' 完成某 *** 作
End If
(2)只显示某消息
MsgBox “Hello!”
(3)将消息框返回的结果赋值给变量
Ans=MsgBox(“Continue”,vbYesNo)
If MsgBox(“Continue”,vbYesNo)<>vbYes Then Exit Sub
(4)使用常量的组合,赋值组Config变量,并设置第二个按钮为缺省按钮
Config=vbYesNo+vbQuestion+vbDefaultButton2
(5)若要在消息中强制换行,可在文本中使用vbCrLf(或vbNewLine)常量,用&加空格与字符隔开。如
MsgBox “This is the first line” & vbNewLine & “Second line”
(6)可以在消息框中使用vbTab常量插入一个制表符。下面的过程使用一个消息框来显示5×5单元格区域中的所有值,用vbTab常量分隔列并使用vbCrLf常量插入一个新行。注意在MsgBox函数最多只显示1024个字符,因此限制了可显示的单元格数。
Option Explicit
Sub ShowRangue()
Dim Msg As String
Dim r As Integer, c As Integer
Msg = ""
For r = 1 To 5
For c = 1 To 5
Msg = Msg & Cells(r, c) & vbTab
Next c
Msg = Msg & vbCrLf
Next r
MsgBox Msg
End Sub
(7)在消息框语句中运用工作表函数以及设置显示的数置格式,如下面语句所示:
MsgBox " selection has " & m & " cells " & Chr(13) & " the sum is :" & ApplicationWorksheetFunctionSum(Selection) & Chr(13) & "the average is :" & Format(ApplicationWorksheetFunctionAverage(Selection), "#,##000"), vbInformation, "selection count & sum & average" & Chr(13)

private sub form_load() '事件窗体加载
msgbox("d出窗口") '设定d出窗口
end sub '
中的代码: MsgBox "警告内容!", 26, "警告!"
VB中的函数,可实现d出窗口
作用:在对话框中显示消息,等待用户单击按钮,并返回一个 Integer 告诉用户单击哪一个按钮。
语法:
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
参数说明:
MsgBox 函数的语法具有以下几个命名参数:
Prompt-------必需的。字符串表达式,作为显示在对话框中的消息。prompt 的最大长度大约为 1024 个字符,由所用字符的宽度决定。如果 prompt 的内容超过一行,则可以在每一行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或是回车与换行符的组合 (Chr(13) & Chr(10)) 将各行分隔开来。
Buttons-------可选的。数值表达式是值的总和,指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。如果省略,则 buttons 的缺省值为 0。
Title-------可选的。在对话框标题栏中显示的字符串表达式。如果省略 title,则将应用程序名放在标题栏中。
Helpfile--------可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了 helpfile,则也必须提供 context。
Context-------可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了 context,则也必须提供 helpfile。
用于MsgBox函数中Button参数的常量
常量 值 说明
vbOKOnly 0 只显示“确定”按钮
VbOKCancel 1 显示“确定”和“取消”按钮
VbAbortRetryIgnore 2 显示“终止”、“重试”和“忽略” 按钮
VbYesNoCancel 3 显示“是”、“否”和“取消”按钮
VbYesNo 4 显示“是”和“否”按钮
VbRetryCancel 5 显示“重试”和“取消”按钮
VbCritical 16 显示“关键信息”图标
VbQuestion 32 显示“警告询问”图标
VbExclamation 48 显示“警告消息”图标
VbInformation 64 显示“通知消息”图标
vbDefaultButton1 0 第一个按钮是缺省值(缺省设置)
vbDefaultButton2 256第二个按钮是缺省值
vbDefaultButton3 512第三个按钮是缺省值
vbDefaultButton4 768第四个按钮是缺省值
vbApplicationModal 0应用程序强制返回;应用程序一直被挂起,直到用户对消息框
作出响应才继续工作
vbSystemModal 4096系统强制返回;全部应用程序都被挂起,直到用户对消息框作
出响应才继续工作
vbMsgBoxHelpButton 16384将Help按钮添加到消息框
VbMsgBoxSetForeground 65536指定消息框窗口作为前景窗口
vbMsgBoxRight 524288文本为右对齐
vbMsgBoxRtlReading 1048576指定文本应为在希伯来和阿拉伯语系统中的从右到左显示
说明:
(1)第一组值(0–5)描述了消息框中显示的按钮的类型与数目;第二组值(16,32,48,64)描述了图标的样式;第三组值(0,256,512,768)说明哪一个按钮是缺省值;而第四组值(0,4096)则决定消息框的强制返回性。将这些数字相加以生成Buttons参数值的时候,只能由每组值取用一个数字。
(2)这些常数都是 Visual Basic for Applications (VBA) 指定的。结果,可以在程序代码中到处使用这些常数名称,而不必使用实际数值。实际数值与常数名称是等价的。
返回值
用于MsgBox函数返回值的常量
常数 值 说明
vbOK 1 确定
vbCancel 2 取消
vbAbort 3 终止
vbRetry 4 重试
vbIgnore 5 忽略
vbYes 6 是
vbNo 7 否
(1) 如果同时提供了Helpfile与Context参数,可以按F1键来查看与Context相应的帮助主题,Excel通常会在输入框中自动添加一个帮助(Help)按钮。
(2)若在消息框中显示“取消”按钮,则按下ESC键与单击“取消”按钮效果相同。若消息框中有“帮助”按钮,则提供相关的帮助信息。
(3)如果要输入多个参数并省略中间的某些参数,则必须在相应位置加入逗号分界符。
示例
(1)(1)使用 MsgBox 函数,在具有“是”及“否”按钮的对话框中显示一条严重错误信息。示例中的缺省按钮为“否”,MsgBox函数的返回值视用户按哪一个钮而定。并假设DEMOHLP为一帮助文件,其中有一个帮助主题代码为1000。
Dim Msg,Style,Title,Help,Ctxt,Response,MyString
Msg="Do you want to continue " ’定义消息文本
Style = vbYesNo + vbCritical + vbDefaultButton2 ' 定义按钮
Title = "MsgBox Demonstration" ' 定义标题文本
Help = "DEMOHLP" ' 定义帮助文件
Ctxt = 1000 ' 定义帮助主题
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then ' 用户按下“是”
MyString = "Yes" ' 完成某 *** 作
Else ' 用户按下“否”
MyString = "No" ' 完成某 *** 作
End If
(2)只显示某消息
MsgBox “Hello!”
(3)将消息框返回的结果赋值给变量
Ans=MsgBox(“Continue”,vbYesNo)
If MsgBox(“Continue”,vbYesNo)<>vbYes Then Exit Sub
(4)使用常量的组合,赋值组Config变量,并设置第二个按钮为缺省按钮
Config=vbYesNo+vbQuestion+vbDefaultButton2
(5)若要在消息中强制换行,可在文本中使用vbCrLf(或vbNewLine)常量,用&加空格与字符隔开。如
MsgBox “This is the first line” & vbNewLine & “Second line”
(6)可以在消息框中使用vbTab常量插入一个制表符。下面的过程使用一个消息框来显示5×5单元格区域中的所有值,用vbTab常量分隔列并使用vbCrLf常量插入一个新行。注意在MsgBox函数最多只显示1024个字符,因此限制了可显示的单元格数。
Option Explicit
Sub ShowRangue()
Dim Msg As String
Dim r As Integer, c As Integer
Msg = ""
For r = 1 To 5
For c = 1 To 5
Msg = Msg & Cells(r, c) & vbTab
Next c
Msg = Msg & vbCrLf
Next r
MsgBox Msg
End Sub
(7)在消息框语句中运用工作表函数以及设置显示的数置格式,如下面语句所示:
MsgBox " selection has " & m & " cells " & Chr(13) & " the sum is :" & ApplicationWorksheetFunctionSum(Selection) & Chr(13) & "the average is :" & Format(ApplicationWorksheetFunctionAverage(Selection), "#,##000"), vbInformation, "selection count & sum & average" & Chr(13)

private sub form_load() '事件窗体加载
msgbox("d出窗口") '设定d出窗口
end sub '
中的代码: MsgBox "警告内容!", 26, "警告!"

Excel编辑单元格时,按下Alt+Enter,可以在单元格内换行,在VBA中,可以使用vbCrLf,表示换行符,即“Chr(13) & Chr(10),换行符使用方法为:

1、选中数据单元格,点击“查找与选择-替换”。 

2、按住“alt”键,在查找内容中用键盘右侧的小键盘输入“10”。

3、直接点击“全部替换”即可。

4、可以看到,所有换行符已被清除了。

Dim rndnum,range
Randomize
'随机数范围最大值,此例获取1-100之间的随机数
range=100
'获取随机数,含小数点
rndnum=rnd()range
'舍去小数点及其小数部分,取整数部分
nofloat=int(rndnum)
'获取四舍五入的后整数
roundnum=round(rndnum)
Msgbox "获取到随机数  " & rndnum & vbcrlf & "取整数部分为  " & nofloat & vbcrlf & "四舍五入为  " & roundnum

在vb工程的同一路径下新增2个记事本文件,其中1txt里面是C9BC87E89ABCFDA679FEE9CA
2txt是空的。在窗体中加入按钮,代码如下:
Private Sub Command1_Click()
Dim str As String
Dim i As Integer
Dim substr As String
Open AppPath + "\1txt" For Input As #1
Line Input #1, str
Close #1
Open AppPath + "\2txt" For Append As #2
For i = 1 To Len(str) Step 4
substr = Mid(str, i, 4)
Print #2, substr
Next
Close #2
End Sub
祝楼主成功。
补充,楼主说多行变1行,也容易:
代码如下:
dim i,str as string
Open apppath+"2txt" For Input As #1
Do While Not EOF(1)
Line Input #1, str
i = i + str
Loop
Close #1
msgbox i
i就是连起来的。

双引号是字符串的定界符,比如下面是个合法的字符串:
"abcdef"
但是如果字符串本身包括双引号,比如:
"abc"def"
那么如果按上面的写法,VB就会陷入困惑,不知道字符串是到哪里结束的。
所以VB就规定:如果字符串中包含双引号,就用连续两个双引号来表示,比如:
"abc""def"
因此
responsewrite "msgbox""我是"& myname & """"& vbcrlf
“我是”前面的两个双引号就是代表了显示结果中的一个双引号;
后面那四个双引号则代表两种不同意义:第一个和第四个双引号是字符串定界符,表示这是个字符串,中间的两个双引号则表示这个字符串的内容是一个双引号。
这样,显示后结果就是
msgbox"我是billgates"
如果你不习惯用两个引号表示一个引号字符的方式,也可以用下面的方式:
responsewrite "msgbox" & chr(34) & "我是"& myname & chr(34) & vbcrlf
因为双引号的ASCII码为34,所以可以用chr(34)来表示


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12734068.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存