VB操作webbrowser技巧集

VB操作webbrowser技巧集
VB操作webbrowser技巧集

1 VB调用webbrowser技巧集

VB调用webbrowser技巧集1

1、获得浏览器信息:

Private Sub Command1_Click()

WebBrowser1.Navigate "https://www.360docs.net/doc/278394534.html,"

End Sub

Private Sub Command2_Click()

Dim oWindow

Dim oNav

Set oWindow = WebBrowser1.Document.parentWindow Set oNav = oWindow.navigator

Debug.Print https://www.360docs.net/doc/278394534.html,erAgent

Set oWindow = Nothing

Set oNav = Nothing

End Sub

点击Command1浏览网页,点击Command2在立即窗口中输出浏览器信息。

2、弹出Webbrowser消息窗口

Dim oWindow

Set oWindow = WebBrowser1.Document.parentWindow

oWindow.confirm "abcd"

作者:女孩沐蓝苛2007-1-22 20:20 回复此发言

--------------------------------------------------------------------------------

2 回复:VB调用webbrowser技巧集

VB调用webbrowser技巧集2

向Webbrowser中写入HTML内容的几种方法首先在Form_Load中加入

WebBrowser1.Navigate "about:blank"

确保Webbrowser1可用

方法1:

Dim s As String

Dim stream As IStream

s = ""

s = s + ""

s = s + ""

s = s + "

hello world

"

s = s + ""

s = s + "

WebBrowser1.Document.Write s

方法2:

Dim o

Set o = WebBrowser1.Document.selection.createrange Debug.Print o

If (Not o Is Nothing) Then

o.pasteHTML "哈哈"

Set o = Nothing

End If

方法3:

'插入文本框

Dim o

Set o = WebBrowser1.Document.selection.createrange

o.execCommand "InsertTextArea", False, "xxx"

作者:女孩沐蓝苛2007-1-22 20:20 回复此发言

--------------------------------------------------------------------------------

3 回复:VB调用webbrowser技巧集

vb调用Webbrowser技巧集3

1、页面滚动:

Private Sub Command2_Click()

WebBrowser1.Document.parentwindow.scrollby 0, 30

Private Sub Form_Load()

WebBrowser1.Navigate "https://www.360docs.net/doc/278394534.html," End Sub

点击Command2就可以使当前页面向下滚动30像素

2、判断页面是否可以前进后退

Private Sub Command1_Click()

WebBrowser1.GoForward

End Sub

Private Sub Command2_Click()

WebBrowser1.GoBack

Private Sub Form_Load()

WebBrowser1.Navigate "https://www.360docs.net/doc/278394534.html,"

End Sub

Private Sub WebBrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)

If (Command = CSC_NA VIGATEBACK) Then

Command2.Enabled = Enable

End If

If (Command = CSC_NA VIGATEFORWARD) Then Command1.Enabled = Enable

End If

End Sub

作者:女孩沐蓝苛2007-1-22 20:21 回复此发言

--------------------------------------------------------------------------------

4 回复:VB调用webbrowser技巧集

VB调用webbrowser技巧集4

1、如何使网页不出现滚动条:

Private Sub mnuScroll1_Click()

@#注意:必须在网页完全显示之后才可以运行WebBrowser1.Document.body.Scroll = "no" @#不显示滚动条的办法

End Sub

Private Sub mnuScroll2_Click()

@#注意:必须在网页完全显示之后才可以运行WebBrowser1.Document.body.Scroll = "Auto" @#显示滚动条的办法

End Sub

2、如何获得网页中被选中部分的HTML:

Private Sub Command1_Click()

Dim objSelection

Dim objTxtRange

Set objSelection = WebBrowser1.Document.selection

If Not (objSelection Is Nothing) Then

Set objTxtRange = objSelection.createRange

If Not (objTxtRange Is Nothing) Then

Debug.Print objTxtRange.htmlText

Set objTxtRange = Nothing

End If

Set objSelection = Nothing

End If

End Sub

Private Sub Form_Load()

WebBrowser1.Navigate "https://www.360docs.net/doc/278394534.html,"

End Sub

作者:女孩沐蓝苛2007-1-22 20:22 回复此发言

--------------------------------------------------------------------------------

5 回复1:VB调用webbrowser技巧集

Navigate 方法的语法格式为:

WebBrowser 控件名.Navigate URL

[Flags,][TargetFrameName,][PostData,][Headers]

---- WebBrowser 控件支持的主要方法有:

GoBack ———回退到上一屏。

GoForward ———进入到下一屏。

GoHome ———回家。即回到主页。

Stop ———停止导航。

Refresh ———刷新。

Navigate ———导航。

---- WebBrowser 控件所响应的事件:

---- BeforeNavigate 事件———在开始导航前发生。一般在此获取完整的URL 字符串。

---- WebBrowser 控件最主要的参数:

---- URL ———获得导航用的标准URL 字符串。例如:它能将”https://www.360docs.net/doc/278394534.html,”自动翻译为”https://www.360docs.net/doc/278394534.html,”.URL 是Uniform Resource Locator 的缩写,是在Internet 的WWW 服务程序上用于指定信息位置的表示方法。

作者:女孩沐蓝苛2007-1-22 20:25 回复此发言

--------------------------------------------------------------------------------

6 回复:VB调用webbrowser技巧集

使用WebBrowser的Navigator或者Navigator2方法打开一个asp文档并且传递

参数进去,但是asp文档无法获得参数,请教是什么原因?vb源码:

Private Sub cmdSubmit_Click()

Dim strURL As String, strFormData As String

Dim strData As String

strURL = Trim$(txtURL.Text)

strFormData = "name=" & Trim$(txtName.Text) &

"&password=" & Trim$(txtPassword.Text)

Call WBTest.Navigate2(strURL, 64, "_blank", strFormData,

"hello")

End Sub

asp源码:

<%@ Language=VBScript %>

<%

dim strName

dim strPassword

strName=Trim(Request.Form("name"))

strPassword=Trim(Request.Form("password")) Response.Write(strName)

Response.Write(strPassword)

if strName="KingZhang" and strPassword="123456" then Response.Write("登陆成功")

else

Response.Write("非法登陆用户!") end if

%>

*************************************************** ******************

Option Explicit

Private Sub Command1_Click()

Dim szValue As String

WebBrowser1.Document.body.innerHTML = "

method=post action=http://地址/xxx.php>"

WebBrowser1.Document.Forms("post").submit

End Sub

Private Sub Form_Load()

WebBrowser1.Navigate2 "about:blank"

End Sub

Top

*************************************************** *****************

请问:在WebBrwoser控件里提供的Navigate或者Navigate2方法中提供了传递数据

的参数,调用方式为:WebBrowser1.Navigate2(URL,[Flags],

[TargetFrameName],[PostData],[Headers])

其中PostData参数就是一个提交参数字符串,例如"name=aaa&password=123",

但问题是为什么这个方法并不是有效的,服务器端不能取得数据?

如果这个方法是有效的话就不需要用一段html代码模拟这种调用了。

作者:女孩沐蓝苛2007-1-22 20:34 回复此发言

--------------------------------------------------------------------------------

8 回复1:VB调用webbrowser技巧集

下面代码能检测出程序post出去的消息

Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers As Variant, Cancel As Boolean)

MsgBox PostData

End Sub

作者:女孩沐蓝苛2007-1-22 20:36 回复此发言

--------------------------------------------------------------------------------

9 回复1:VB调用webbrowser技巧集

对5F的补充

WebBrowser的8个方法和13个属性

WebBrowser的8个方法和13个属性,以及它们的功能:

方法说明

GoBack 相当于IE的“后退”按钮,使你在当前历史列表中后退一项

GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项

GoHome 相当于IE的“主页”按钮,连接用户默认的主页

GoSearch 相当于IE的“搜索”按钮,连接用户默认的搜索页面

Navigate 连接到指定的URL

Refresh 刷新当前页面

Refresh2 同上,只是可以指定刷新级别,所指定的刷新级别的值来自RefreshConstants枚举表,

该表定义在ExDisp.h中,可以指定的不同值如下:REFRESH_NORMAL 执行简单的刷新,不将HTTP pragma: no-cache头发送给服务器

REFRESH_IFEXPIRED 只有在网页过期后才进行简单的刷

REFRESH_CONTINUE 仅作内部使用。在MSDN里写着DO NOT USE! 请勿使用

REFRESH_COMPLETELY 将包含pragma: no-cache头的请求发送到服务器

Stop 相当于IE的“停止”按钮,停止当前页面及其内容的载入

属性说明

Application 如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDispatch)。如果在宿主对象中自动化对象无效,这个程序将返回WebBrowser

控件的自动化对象

Parent 返回WebBrowser控件的父自动化对象,通常是一个容器,例如是宿主或IE窗口

Container 返回WebBrowser控件容器的自动化对象。通常该值与Parent属性返回的值相同

Document 为活动的文档返回自动化对象。如果HTML当前正被显示在WebBrowser中,则

Document属性提供对DHTML Object Model的访问途径TopLevelContainer 返回一个Boolean值,表明IE是否是WebBrowser控件顶层容器,是就返回true

Type 返回已被WebBrowser控件加载的对象的类型。例如:如果加载.doc文件,就会返

回Microsoft Word Document

Left 返回或设置WebBrowser控件窗口的内部左边与容器窗口左边的距离

Top 返回或设置WebBrowser控件窗口的内部左边与容器窗口顶边的距离

Width 返回或设置WebBrowser窗口的宽度,以像素为单位

Height 返回或设置WebBrowser窗口的高度,以像素为单位

LocationName 返回一个字符串,该字符串包含着WebBrowser当前显示的资源的名称,如果资源

是网页就是网页的标题;如果是文件或文件夹,就是文件或文件夹的名称

LocationURL 返回WebBrowser当前正在显示的资源的URL

Busy 返回一个Boolean值,说明WebBrowser当前是否正在加载URL,如果返回true

就可以使用stop方法来撤销正在执行的访问操作

作者:女孩沐蓝苛2007-1-22 20:38 回复此发言

--------------------------------------------------------------------------------

10 回复1:VB调用webbrowser技巧集

如何利用WebBrowser 控件,显示.GIF 动画?

要有一定的网页知识(HTML、JavaScript、CSS)

注意细节:

没有"滚动条"和"鼠标右键弹出的IE 上下文菜单",".HTM 源文件" ...

我写了一个,效果还真不错!

'Objects: Form1、Command1、CommonDialog1、WebBrowser1 Option Explicit

Private Sub Command1_Click()

CommonDialog1.ShowOpen

If VBA.Len(VBA.Trim(CommonDialog1.FileName)) > 0 Then Dim p As stdole.StdPicture

Dim sPath As String

VB .NET中控件数组的实现

https://www.360docs.net/doc/278394534.html,中控件数组的实现 摘要:VB编程时,当要处理一组相同类型的控件的同一事件过程时,我们可以引入控件数组这一概念。如进行计算器程序编写时,可创建十个数字按钮的控件数组,共享同一事件过程。VB6升级到https://www.360docs.net/doc/278394534.html,后,VB6控件数组的创建方法在.NET中不可用,本文总结了几种https://www.360docs.net/doc/278394534.html,中使用控件数组的方法。 关键词:https://www.360docs.net/doc/278394534.html,控件数组事件过程程序代码 一、关于控件数组 熟悉VB6编程的,对控件数组这一概念应该非常熟悉,它是VB6中的一项简单而非常实用的技术,是指具有相同名称的同类型的控件,共享同一事件。它的最大好处是:简化编程。但当我们把这一用法沿用到https://www.360docs.net/doc/278394534.html,中来时,却发现无法实现。虽然https://www.360docs.net/doc/278394534.html,中没有VB6中实现控件数组的方法,但在https://www.360docs.net/doc/278394534.html,中控件数组的运用更加灵活了。 https://www.360docs.net/doc/278394534.html,中,控件数组的创建不再是在设计时简单地将同类型的各个控件的Name属性值设置成同一名称就可以了,https://www.360docs.net/doc/278394534.html,中,不公能够创建同类型的相同事件处理过程,还能够创建属于不同类型但共享相同事件的控件组。 二、https://www.360docs.net/doc/278394534.html,中控件数组的实现 要在https://www.360docs.net/doc/278394534.html,中实现控件数组这一机制,我们需要通过编写代码来完成,下面来介绍几种的方法,大家可以根据程序的需要进行选择。 1、使用Handles子句。 先将控件数组中各控件对象依次添加到窗体,然后创建其中一个对象的事件过程(执行部分先不写),再把其它对象的这一事件依次添加在后面,各事件过程名之间用逗号分隔开来。在事件过程的执行部分,如果需要引用这些对象,则要先给这些对象创建一个相同的名称。当要引用对象时,不再使用它们的Name属性值,而是新创建的名称。示例代码如下(部分内容省略): Label1_Click(ByVal sender…)Handles Label1.C lick,Label2.Click,Label3.Click Dim lbl As Label = CType(sender, Label) 当中,创建的是Label1的Click事件,在其后面,添加了Label2及Label3的Click 事件。事件过程中,通过一条Dim语句,定义三个标签具有相同的名称lbl,在下面的代码中,要设置或获取其中某一个标签的某个属性值时,直接使用名称lbl即可。这种方法实现起来最方便简单,以上实例中要求控件数组中控件类型相同,通过此方法,也可实现不同类型同一事件处理程序的共享,如具有同一功能的菜单项和工

VB常用字符串操作函数解读

VB常用字符串操作函数2009/11/25 18:321. ASC(X,Chr(X:转换字符字符码[格式]: P=Asc(X 返回字符串X的第一个字符的字符码 P=Chr(X 返回字符码等于X的字符 [范例]:(1P=Chr(65 ‘ 输出字符A,因为A的ASCII码等于65 (2P=Asc(“A” ‘ 输出65 2. Len(X:计算字符串X的长度 [格式]: P=Len(X [说明]:空字符串长度为0,空格符也算一个字符,一个中文字虽然占用2 Bytes,但也算 一个字符。 [范例]: (1 令X=”” (空字符串 Len(X 输出结果为0 (2 令X=”abcd” Len(X 输出结果为4 (3 令X=”VB教程” Len(X 输出结果为4 3. Mid(X函数:读取字符串X中间的字符 [格式]: P=Mid(X,n 由X的第n个字符读起,读取后面的所有字符。 P=Mid(X,n,m 由X的第n个字符读起,读取后面的m个字符。 [范例]: (1 X=”abcdefg” P=Mid(X,5 结果为:P=”efg” (2 X=”abcdefg” P=Mid(X,2,4 结果为 P=”bcde” 4. R eplace: 将字符串中的某些特定字符串替换为其他字符串 [格式]: P=Replace(X,S,R [说明]:将字符串X中的字符串S替换为字符串R,然后返回。[范例]:X=”VB is very good” P=Replace(X,good,nice 输出结果为:P=”VB is very nice” 5. StrReverse:反转字符串 [格式]: P=StrReverse(X [说明]:返回X参数反转后的字符串 [范例]:(1)X=”abc” P=StrReverse(X 输出结果:P=”cba” 6. Ucase(X,Lcase(X:转换英文字母的大小写 [格式]:P=Lcase(X ‘ 将X字符串中的大写字母转换成小写P=Ucase(X ‘ 将X字符串中的小写字母转换成大写 [说明]:除了英文字母外,其他字符或中文字都不会受到影响。 [范例]:(1)令X=”VB and VC” 则Lcase(X的结果为”vb and vc”,Ucase(X的结果为”VB AND VC” 7. InStr函数:寻找字符串 [格式]: P=InStr(X,Y 从X第一个字符起找出Y出现的位置 P=InStr(n,X,Y 从X第n个字符起找出Y出现的位置 [说明]:(1)若在X中找到Y,则返回值是Y第一个字符出现在X中的位置。(2) InStr(X,Y相当于 InStr(1,X,Y。(3)若字符串长度,或X为空字符串,或在X中找不到Y,则都 返回0。(4)若Y为空字符串,则返回0。 ---------------------------------------------------------------------------------------------- mid(字符串,从第几个开始,长度 ByRef 在[字符串]中[从第几个开始]取出[长度个字符串] 例如 mid("小欣无敌",1,3 则返回 "小欣无" instr(从第几个开始,字符串1,字符串2 ByVal 从规定的位置开始查找,返回字符

用VB操作excel方法汇总

用VB操作excel方法汇总 Private Sub Command3_Click() Dim i As Long Dim j As Long Dim objExl As Excel.Application '声明对象变量 Me.MousePointer = 11 '改变鼠标样式 Set objExl = New Excel.Application '初始化对象变量 objExl.SheetsInNewWorkbook = 1 '将新建的工作薄数量设为1 objExl.Workbooks.Add '增加一个工作薄 objExl.Sheets(objExl.Sheets.Count).Name = "book1" '修改工作薄名称 objExl.Sheets.Add , objExl.Sheets("book1") '增加第二个工作薄在第一个之后 objExl.Sheets(objExl.Sheets.Count).Name = "book2" objExl.Sheets.Add , objExl.Sheets("book2") '增加第三个工作薄在第二个之后 objExl.Sheets(objExl.Sheets.Count).Name = "book3" objExl.Sheets("book1").Select '选中工作薄 For i = 1 To 50 '循环写入数据 For j = 1 To 5 If i = 1 Then objExl.Selection.NumberFormatLocal = "@" '设置格式为文本 objExl.Cells(i, j) = " E " & i & j Else objExl.Cells(i, j) = i & j End If Next Next objExl.Rows("1:1").Select '选中第一行 objExl.Selection.Font.Bold = True '设为粗体 objExl.Selection.Font.Size = 24 '设置字体大小 objExl.Cells.EntireColumn.AutoFit '自动调整列宽 objExl.ActiveWindow.SplitRow = 1 '拆分第一行 objExl.ActiveWindow.SplitColumn = 0 '拆分列 objExl.ActiveWindow.FreezePanes = True '固定拆分 objExl.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1" '设置打印固定行 objExl.ActiveSheet.PageSetup.PrintTitleColumns = "" '打印标题 objExl.ActiveSheet.PageSetup.RightFooter = "打印时间: " & _ For mat(Now, "yyyy年mm月dd日 hh:MM:ss") objExl.ActiveWindow.View = xlPageBreakPreview '设置显示方式 objExl.ActiveWindow.Zoom = 100 '设置显示大小 '给工作表加密码 objExl.ActiveSheet.Protect "123", DrawingObjects:=True, _ Contents:=True, Scenarios:=True objExl.Application.IgnoreRemoteRequests = False

vb控件数组的习题及答案

vb控件数组的习题及答案

电子教室学生注册时姓名文本框部分请输入:如:1411111111李四学号+姓名,中间不加空格) 实验准备: 请同学们删除d:\ex21 文件夹里面的内容 如果没有ex21文件夹,请在d:\ 下新建 ex21 文件夹 1、打开D:\下的工程文件PROJECTA4.vbp和窗体文件FORMA4.frm,按以 下要求完成程序:在窗体上创建2个列表框、2个标签、2个命令按钮。 List1用于显示可选课程、List2用于显示已选课程。单击“选课”按钮, 将List1中选定的课程名称加入到List2中显示,单击“清空”按钮,将 删除List2中的所有课程。程序运行的参考输出格式如图A-4所示,可选 课程至少包含图A-4所示的6门。最后将工程文件、窗体文件按原文件 名保存在D:\EX21文件夹下。 图A-4

2、打开D:\下的工程文件PROJECTB4.vbp和窗体文件FORMB4.frm,按以下要求完成程序:在窗体上创建1个列表框、1个图片框、2个标签、2个命令按钮。List1用于显示可选课程、Picture1用于显示已选课程。单击“选课”按钮,将List1中选定的课程名称加入到Picture1中显示,单击“清空”按钮,将删除Picture1中的所有课程。程序运行的参考输出格式如图B-4所示,可选课程至少包含图B-4所示的6门。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。 图B-4

3、打开D:\下的工程文件PROJECTA41.vbp和窗体文件FORMA41.frm,按以下要求完成程序:单击窗体,能产生10个两位的随机整数并存放在一维数组中,并能在窗体中输出该10个随机整数、最大数及其在10个数中的位置,要求使用语句强制显式声明模块中的所有变量,程序运行的参考输出格式如图A-41所示。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。 图A-41

VB常用函数

VB常用函数: 1.数值型函数: int(num): 取整int(99.8)=99; int(-99.2)=-100 fix(num):取整fix(99.8)=99; fix(-99.2)=-99 round(num,n): 四舍五入取小数位round(3.14159,3)=3.142 中点数值四舍五入为近偶取整round(3.25,1)=3.3 sqr(num) 取根号 2.字符串函数: len(str):计算字符串长度中文字符长度也计为一!mid(str,起始字符,[读取长度]):截取字符串中间子字符串 left(str,nlen):从左边起截取nlen长度子字符串 right(str,nlen):从右边起截取nlen长度子字符串 trim(str):去除字符串两端空格 replace(str,查找字符串,替代字符串,[起始字符,替代次数,比较方法]):替换字符串 注:默认值:起始字符1;替代次数不限;比较方法区

分大小写(0) InStr([起始字符,]str,查找字符串[,比较方法]):检测是否包含子字符串可选参数需同时选返回起始位置InStrrev() split(str,分割字符串[,次数][,比较方法]):以分割字符串为分割标志将字符串转为字符数组可选参数需同时选CHR(num)通过ASCII值获取一个字符 chr(32) 空格 chr(13) 回车 Ucase(str)所有字符转成大写 Lcase(str)所有字符转成小写 3.数据类型转换函数: Cint(str):转换正数True -1;False 0;日期距离1899/12/31天数;时间上午段0;下午段1; Cstr(str):日期输出格式yyyy/mm/dd;时间输出格式Am/Pm hh:mm:ss Csng(str):转换为单精度数值 Cdbl(str):转换为双精度数值 Cdate() 4.时间函数: date:取系统当前日期

VB编程在Excel中的应用

EXCEL 编程(VBA) Excel 最重要的应用就是利用公式进行计算。无论输入是纯粹的数字运算,还是引用其他单元格计算,只要在一个单元格中输入公式,就能得到结果。这个直接显示结果的设计对于绝大多数场合来说都是适用的,但某些情况下就不那么让人满意了。比如说在做工程施工的预结算编写,使用Excel,既要写出工程量的计算式,也要看到它的结果,于是这样相同的公式在Excel里面要填两次,一次在文本格式的单元格中输入公式,一次是在数据格式的单元格中输入公式让Excel计算结果。如何既能看到公式又能看到结果呢?这个问题笔者认为可以从两个方面考虑:一种方法是所谓“已知结果,显示公式”,先在数据格式单元格中输入公式让Excel计算结果,然后在相邻的单元格中看到公式;另一种方法所谓“已知公式,显示结果”,就是先在一个文本格式的单元格中输入公式,在相邻的单元格中看到结果。 ★ 已知结果,显示公式 假设C列为通过公式计算得到的结果(假设C1为“=A1+B1”,或者直接是数字运算“=2+3”),而相邻的D列是你需要显示公式的地方(即D1应该显示为“=A1+B1”或者“=2+3”)。 1. 打开“工具”菜单选择“选项”命令,出现“选项”对话框。 2. 在“常规”选项卡中,选中“R1C1引用方式”选项。 3. 定义名称,将“引用位置”由“=GET.CELL(6,Sheet1!RC[-1])”即可。这里的RC[-1]含义是如果在当前单元格的同行前一列单元格中有公式结果,则在当前单元格中得到公式内容,即在含公式结果单元格的同行后一列单元格显示公式内容;如果将RC[-1]改为RC[1],则在公式结果的同行前一列单元格显示公式内容。 4. 如果“引用位置”中含有“RC[-1]”,则在含公式结果单元格的同行后一列单元格中输入“=FormulaofResult”即可得到公式;如果“引用位置”中含有“RC[1]”,则在含公式结果单元格的同行前一列单元格中输入“=FormulaofResult”即可得到公式。 提示:如果想要在含公式结果单元格的同行后数第2列中显示公式内容,则需要把“引用位置”中的“RC -1 ”改为“RC -2 ”。 ★已知公式,显示结果 假设C列为输入的没有等号公式(假设C1为“A1+B1”),而相邻的D列是你需要存放公式计算结果的地方(即D1显示A1和B1单元格相加的结果)。 1. 选中D1,然后打开“插入”菜单选择“名称”命令中的“定义”子命令,出现“定义名称”对话框。 2. 在“在当前工作表中的名称”输入栏中输入定义的名称“ResultofFomula”,在下方的“引用位置”编辑栏中输入“=EVALUATE(Sheet1!C1)”,单击[确认]按钮退出。 3. 在 D1中输入“=ResultofFomula”,然后选中按住右下角的填充柄向下拉动填充即可。 提示:EVALUATE 是Eexcel 4.0版的宏表函数,Excel 2000和Excel 2002中 还支持,但只可用于名称定义中。 4. 填充后要按[F9]进行重算,如果C列的公式有改动,也需要及时按[F9]进行

【精选资料】VB控件 数组 过程复习题 参考答案2

常用标准控件作业 一、选择题 1.下列关于属性设置的叙述错误的是_______B__。 A.一个控件具有什么属性是Visual Basic预先设计好的,用户不能改变它 B.一个控件具有什么属性值是Visual Basic预先设计好的,用户不能改变它 C.一个控件的属性既可以在属性窗口中设置,也可以用程序代码设置 D.一个控件的属性在属性窗口中设置后,还可以再利用程序代码为其设置新值 2.以下过程是标签Label1的___A______事件。 Prviate Sub Label1_Click( ) End Sub A.单击 B.双击 C.拖拽 D.移动 3.下列控件中可设置滚动条是____C_____。 A.检查框(复选框) B.框架 C.文本框 D.标签框 4.标签所显示的内容,由___C______属性值决定。 A. Text B. Name C. Caption D. Alignment 5.定时器的定时间隔单位是__C_______。 A. 秒 B. 微秒 C. 毫秒 D. 分 6.检查框(复选框)的控件名称为______B___。 A. OptionBotton B. CheckBox C. PictureBox D. Image 7.若要求向文本框输入密码时,只在文本框中显示&号,则应当在此文本框的属性窗口中设置______D___。 A. Text属性值为& B. Caption属性值为& C. PasswordChar属性值为空 D. PasswordChar属性值为& 8.若要设置定时器的定时间隔,可通过__A_______属性来设置。 A. Interval B. Value C. Enabled D. Text 9.若要设置定时器的定时间隔设为5秒,应将Interval属性值设为_D________。 A. 5 B. 50 C. 500 D. 5000 10.若要使不可见命令按钮显示出来,可通过设置_____A____属性的值为True来实现。 A.Visible B.Enabled C.Default D.Value 11.若要使定时器起作用,应将其__D_______属性设置值设为True。 A.Interval B.Value C.Text D.Enabled 12.若要使命令按钮失效,可设置_____B____属性为False来实现。 A.Value B.Enabled C.Visible D.Cancel 13.若要向列表框新增列表项,可使用_____D____方法来实现。 A.Add B.RemoveItem C.Clear D.AddItem 14.要获得垂直滚动条Vscrollbar控件所能表示的最大值,可通过调用该控件的_____B____属性来实现。 A.Value B.Max C.Min https://www.360docs.net/doc/278394534.html,rgeChange 15.要将命令按钮上的文字设置为“粗体”可通过设置__B_______属性值为True来实现。 A.FontItalic B.FontBold C.FontUnderline D.FontSize 16.要将命令按钮上的文字设置为“斜体”可通过设置____A_____属性值为True来实现。 A.FontItalic B.FontBold C.FontUnderline D.FontSize 17.要将命令按钮上的字体设为“隶书”,可设置______C___的属性为“隶书”。 A.FontBold B.BackItalic C.FontName D.FontSize 18.以下选项中,不属于单选按钮属性的是____D_____ A.Enabled B.Caption https://www.360docs.net/doc/278394534.html, D.Min 19.组合框的风格可通过____C_____属性来设置。 A.BackStyle B.BorderStyle C.Style D.Sorted 20.标签的边框由_____C____属性的设置来决定。 A.BackColor B.BackStyle C.BorderStyle D.AutoSize 21.单选按钮的控件名称为____D_____。 A.Botton B.CheckBox C.PictureBox D.OptionBotton 22.单选按钮的当前状态可通过___A______属性来访问。 A.Value B.Checked C.Selected D.Caption 23.当滚动条中的滑块位置变化时,将触发其___C______事件。 A.LostFocus B.SetFocus C.Change D.GetFocus 24.假定Picture1和Form1分别为图片框和窗体的名称,以下语句___A______可清除图片框中的文本信息。 A.Picture1.cls B.Picture1.clear C.Form1.cls D.Form1.clear 25.确定一个窗体或控件的大小的属性是_____B____。 A.Width或Height B.Width和Height C.Top或Left D.Top和Left

vb字符串处理函数

vb字符串处理函数 Posted on 2012-04-09 14:52 ╰★张志峰★╮阅读(1996) 评论(0) 编辑收藏 vb字符串处理函数 LEN字串長度函數:計算字串的長度。函數運算式結果 len("abcd") 4 len("中文字") 3 len(abc中文) 5 MID取部份字串函數:依開始位置擷取固定長度字串。函數運算式結果 mid("vbscript",3,3) scr mid("vbscript",3) script mid("vbscript",1,2) vb LEFT字串開頭取部份字串函數:將某一字串由開頭擷取固定長度。函數運算式結果left("vbscript",2) vb left("vbscript",5) vbscr RIGHT字串結尾取部份字串函數:將某一字串由結尾擷取固定長度。函數運算式結果right("vbscript",2) pt right("vbscript",6) script LCASE轉大寫函數:將字串中的大寫字母變成小寫。函數運算式結果 lcase("VBScript") vbscript lcase("VBScript程式") vbscript程式 UCASE轉小寫函數:將字串中的小寫字母變成大寫。函數運算式結果 ucase("VBScript") VBSCRIPT ucase("VBScript程式") VBSCRIPT程式 TRIM刪除頭及尾空白字元函數:將字串開頭及結尾的空白字元刪除。 LTRIM刪除開頭空白函數:將字串開頭的空白字元刪除。 RTRIM刪除結尾空白函數:將字串結尾的空白字元刪除。函數運算式結果 trim(" VBScript ") VBScript ltrim(" VBScript ") VBScript rtrim(" VBScript ") VBScript REPLACE替代字串函數:將字串中的某字串用另一字串代替。函數運算式結果replace("VBScript","VB","JAVA") JAVAScript

怎样实现用VB对EXCEL的操作

用VB操作excel方法 Private Sub Command3_Click() Dim i As Long Dim j As Long Dim objExl As Excel.Application'声明对象变量 Me.MousePointer=11'改变鼠标样式 Set objExl=New Excel.Application'初始化对象变量 objExl.SheetsInNewWorkbook=1'将新建的工作薄数量设为1 objExl.Workbooks.Add'增加一个工作薄 objExl.Sheets(objExl.Sheets.Count).Name="book1"'修改工作薄名称 objExl.Sheets.Add,objExl.Sheets("book1")'增加第二个工作薄在第一个之后 objExl.Sheets(objExl.Sheets.Count).Name="book2" objExl.Sheets.Add,objExl.Sheets("book2")'增加第三个工作薄在第二个之后 objExl.Sheets(objExl.Sheets.Count).Name="book3" objExl.Sheets("book1").Select'选中工作薄 For i=1To50'循环写入数据 For j=1To5 If i=1Then objExl.Selection.NumberFormatLocal="@"'设置格式为文本 objExl.Cells(i,j)="E"&i&j Else objExl.Cells(i,j)=i&j End If Next Next objExl.Rows("1:1").Select'选中第一行 objExl.Selection.Font.Bold=True'设为粗体 objExl.Selection.Font.Size=24'设置字体大小 objExl.Cells.EntireColumn.AutoFit'自动调整列宽 objExl.ActiveWindow.SplitRow=1'拆分第一行 objExl.ActiveWindow.SplitColumn=0'拆分列 objExl.ActiveWindow.FreezePanes=True'固定拆分 objExl.ActiveSheet.PageSetup.PrintTitleRows="$1:$1"'设置打印固定行 objExl.ActiveSheet.PageSetup.PrintTitleColumns=""'打印标题 objExl.ActiveSheet.PageSetup.RightFooter="打印时间:"&_ For mat(Now,"yyyy年mm月dd日hh:MM:ss") objExl.ActiveWindow.View=xlPageBreakPreview'设置显示方式 objExl.ActiveWindow.Zoom=100'设置显示大小 '给工作表加密码 objExl.ActiveSheet.Protect"123",DrawingObjects:=True,_ Contents:=True,Scenarios:=True objExl.Application.IgnoreRemoteRequests=False objExl.Visible=True'使EXCEL可见

VB专题:字符处理之字符替换

1. 字符串函数的使用 (1)Len(s): 应用:s=Text1.Text 求字符串s长度的表达式:①。 ②。 (2)Mid(s,i,n) 或 Mid(s,i): 应用: 2. 字符串连接: 应用: (1)顺序连接(表达式或赋值语句):。 (2)倒序连接(表达式或赋值语句):。 1.单个字符替换 任务描述:将字符串中的特定单个字符替换成另一个特定字符,如图所示:将text1中的”偶”(由Text2输入)替换成”我”(由Text3输入),将替换后的字符串由Text4输出。

Text1 Text2 Text3 Private Sub Command1_Click() Dim s As String, ss As String,c1 As String, c2 As String s = Text1.Text: c1 = Text2.Text: c2 = Text3.Text: ss = "" For i = 1 To Len(s) If ①Then‘取子串,判断是否需要替换 ss = ss + ②‘有替换的连接 Else ss = ss + ③‘无替换的连接 End If Next i Text4.Text = ss End Sub 思考并写出相应语句,然后完成上面的填空: (1)如何取子串? (2)如何判断?(是否需要替换) (3)如何连接字符串?替换 未替换 2.任意长度字符串替换 (1)(方法一)任务描述:将字符串中的特定字符串替换成另一个任意长度特定字符串,如图所示:将Text1中的”中学”(由Text2输入)替换成”middle school”(由Text3输入),将替换后的字符串由Text4输出。

VB字符串转换函数

VB中涉及到的数据进制之间的转换函数主要有如下几个: Hex 函数: 返回代表十六进制数值的String; Oct 函数: 返回代表一数值的八进制值的V ariant (String); Cint函数: 强制将一个表达式转换成-32,768 至32,767的整型; CLng函数: 强制将一个表达式转换成-2,147,483,648 至2,147,483,647的长整型; Cdec函数: 强制将一个表达式转换成Decimal 数据类型; CDbl函数: 强制将一个表达式转换成Double 数据类型; 以上这些函数是最基本的几个数据进制之间的转换函数,其中以前三个函数最常用,也最有用.从上面几个函数我们可以看到,VB中没有为我们提供专门的函数供我们将表达式或是数据转换成十进制和二进制,不过十进制的转换我们可以通过Cint函数轻松完成,而二进制的实现我们可以通过二进制和八进制,十六进制的关系轻松转换. 下面几个例子为Hex函数和Oct函数以及Cint函数的实例: (1). A= hex(5) 返回5; (2). B=hex(10) 返回A (3). C=hex(23) 返回17 (4). D=oct(5) 返回5 (5). E=oct(10) 返回12 (6). F=oct(23) 返回27 (7). G=Cint(&H17) 返回23 (8) . H=Cint(&O12) 返回10 以上这些函数的应用比较简单,就不多说了,值得一提的是Hex函数和Oct函数返回的都是字符串,如果是想将十六进制或是八进制的字符串变量转换成十进制,可以按如下方法进行: C=”17” 17为十六进制数值的String C=”&H” & C Ic=Cint(C) 返回23 2. 字符串和数字转换函数 VB中的字符串函数比较多,也比较方便,就不一一介绍了.本文主要对字符串相关的转换函数做一些小结.字符串转换的函数主要有: Str()和V al()用于字符串和数字的相互转换; Chr()和Asc()用于字符串和AscII码的相互转换; Chrw()和Ascw()用于Unicode码和中文的相互转换; Format()函数用途十分广泛的一个函数,功能十分强大. 在这些函数中前两对和Format()函数是我们经常用到的,这里只给出前两对的几个简

控件数组

在https://www.360docs.net/doc/278394534.html,中使用控件数组 控件数组是位于一个窗体上共享同一名称的一组同种类型控件。普通控件仅使用名称就可以识别,而引用控件数组中的成员则需要同时使用名称和索引。开发人员在Visual Basic 6.0 以及更早的版本中使用控件数组主要有以下三个理由: 1. 在循环中访问数组中控件的属性。 2. 向窗体动态添加新控件。 3. 允许一个事件例程与多个控件连接。 控件数组的使用,极大的方便了开发人员。然而,刚刚从Visual Basic6.0(以下简称VB6.0)过渡到Visual https://www.360docs.net/doc/278394534.html,(以下简称https://www.360docs.net/doc/278394534.html,)的初学者却发现,在https://www.360docs.net/doc/278394534.html,中似乎不能使用控件数组了。笔者仔细查阅了https://www.360docs.net/doc/278394534.html,的MSDN文档发现,在https://www.360docs.net/doc/278394534.html, 中,确实不再支持控件数组。原因是,https://www.360docs.net/doc/278394534.html,对事件模型作了很大的改动,引入了另外一种数据类型――控件集合模型,使控件数组没有存在的必要。就像VB6.0 中的控件数组可以共享事件一样,https://www.360docs.net/doc/278394534.html, 中的事件模型允许任何事件处理程序都可以处理来自多个控件的事件,这就允许创建属于不同类型但共享相同事件的控件组。 所谓控件集合是指包含在一个容器中的所有控件的总和,能够创建控件集合的容器有:Form、Panel、GropBox等。程序运行时,可以通过访问容器的Control属性来得到该容器中的所有控件。 下面将演示如何通过控件集合来使用控件数组: 一、直接使用Form容器的控件集合来使用控件数组: 建立一个https://www.360docs.net/doc/278394534.html,项目,在Form1中添加三个TextBox控件,名称分别为:TextBox1、TextBox2、TextBox3,一个Button控件。 双击Button,输入如下代码: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click …下面的语句是通过数组元素的下标来访问Form中的每一个元素。 Me.Controls.Item(0).Text = "集合中的第一个元素" Me.Controls.Item(1).Text = "集合中的第二个元素" Me.Controls.Item(2).Text = "集合中的第三个元素" Me.Controls.Item(3).Text = "集合中的第四个元素" End Sub 运行项目后,点击Button,看到的结果是:Form1中的所有控件(包括Button自己)的Text属性都被修改了,同时还发现,最后加入的的控件变成了集合中的第一个元素(下标为0)。这个结果说明: Form1中的所有控件已经自动构成了一个控件集合(控件数组),这个特点使得建立控件数组变得非常简单。 在访问这些控件时,除了可以通过控件名称直接访问外,还可以通过Contro.Item(n)属性按下标访问集合中的每一个控件; 集合中控件的类型可以不相同,这点和VB6.0完全不同; 集合中的下标顺序是按照加入控件的顺序倒排的; https://www.360docs.net/doc/278394534.html,中控件数组的特点让人稍感不适的是,控件数组的下标是按加入顺序的倒排续产生的,但程序员完全可以改变这个顺序:在代码编辑窗中点击“#Region " Windows 窗体设计器生成的代码”旁边的“+”号,代码展开后,找到如下代码: Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.TextBox3) Me.Controls.Add(Me.TextBox2) Me.Controls.Add(Me.TextBox1)

(完整版)vb_字符串处理函数大全

mid(字符串,从第几个开始,长度)ByRef 在[字符串]中[从第几个开始]取出[长度个字符串] 例如mid("坦然面对",1,3) 则返回"坦然面" instr(从第几个开始,字符串1,字符串2)ByVal 从规定的位置开始查找,返回字符串2在字符串1中的位置 例如instr(1,"坦然面对","坦") 则返回1,instr(2,"坦然面对","坦"),则返回0 。0 表示未找到 InStrRev(字符串1,字符串2,从第几个开始) ByVal 从规定的位置开始,从后住前查找,返回字符串2在字符串1中的位置,此处注意,虽是从后住前查找,但是返回的值还是从前往后算的。 例如instrRev("坦然面对","坦",2) 则返回2 ; instrRev("坦然面对","然",1) 则返回0 ,因为它从"坦然面对"的第1个字开始往前查找,所以找不到。0 表示未找到 left(字符串,长度) ByVal 从[字符串]的左边开始返回[长度]个字符 例如Left("坦然面对",3) 则返回"坦然面" right(字符串,长度) ByVal 从[字符串]的右边开始返回[长度]个字符 例如Right("坦然面对",3) 则返回"然面对" ucase(字符串) ByVal 返回[字符串]的大写形式,只对英文字符有效 例如ucase("tanRANmiAnDui") 则返回"TANRANMIANDUI" lcase(字符串) ByVal 返回[字符串]的小写形式,只对英文字符有效 例如lcase("tanRANmiAnDui") 则返回"tanranmiandui" asc(字符) Byval返回[字符]的ascii编码,若有多个字符,则只返回首字符的ascii编码,和Chr()函数是一个可逆的过程 例如asc("坦") 则返回-13127; asc("坦然面对") 也返回-13127 chr(ASCii编码) Byval 返回[Ascii]编码所代表的字符,和Chr()函数是一个可逆的过程 例如chr(-13127) 则返回"坦" ;chr(asc("坦")) 则返回"坦"(这里是为了说明asc和chr的可逆性,例用此特性可以加密文本) trim(字符串) Byval 返回去掉了前、后之后的[字符串] 例如trim("坦然面对") 则返回"坦然面对" ,中间的空格不受任何影响 string(个数,字符) Byval 返回[个数]个[字符] 例如string(3,"坦") 则返回"坦坦坦" , 而string(3,"坦然面对") 也返回"坦坦坦",只有首字符才有效 space(个数) Byval 返回[个数]个空格 例如space(5) 则返回""

用VB操作EXCEL(VB6.0)(整理)

用VB操作Excel(VB6.0)(整理)全面控制Excel: 首先创建Excel对象,使用ComObj: Dim ExcelID as Excel.Application Set ExcelID as new Excel.Application 1)显示当前窗口: ExcelID.Visible:=True; 2)更改Excel标题栏: ExcelID.Caption:='应用程序调用MicrosoftExcel'; 3)添加新工作簿: ExcelID.WorkBooks.Add; 4)打开已存在的工作簿: ExcelID.WorkBooks.Open('C:\Excel\Demo.xls'); 5)设置第2个工作表为活动工作表: ExcelID.WorkSheets[2].Activate; 或ExcelID.WorkSheets['Sheet2'].Activate; 6)给单元格赋值: ExcelID.Cells[1,4].Value:='第一行第四列'; 7)设置指定列的宽度(单位:字符个数),以第一列为例: ExcelID.ActiveSheet.Columns[1].ColumnsWidth:=5; 8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:ExcelID.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米 9)在第8行之前插入分页符: ExcelID.WorkSheets[1].Rows[8].PageBreak:=1; 10)在第8列之前删除分页符: ExcelID.ActiveSheet.Columns[4].PageBreak:=0; 11)指定边框线宽度: ExcelID.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3;

VB中StrConv函数用法

VB中StrConv(Text1.Text, vbFromUnicode)是什么意思啊?请高手指点,谢谢! 2012-07-14 13:42小恨有疆|分类:VB |浏览6443次 分享到: 举报| 2012-07-14 13:50提问者采纳 返回按指定类型转换的Variant (String)。 语法 StrConv(string, conversion, LCID) StrConv 函数的语法有下面的命名参数: 部分说明 string 必要参数。要转换的字符串表达式。 conversion 必要参数。Integer。其值的和决定转换的类型。 LCID 可选的。如果与系统LocaleID不同,则为LocaleID(系统LocaleID 为缺省值。) 设置值 conversion 参数的设置值为: 常数值说明 vbUpperCase 1 将字符串文字转成大写。 vbLowerCase 2 将字符串文字转成小写。 vbProperCase 3 将字符串中每个字的开头字母转成大写。 vbWide* 4* 将字符串中单字节字符转成双字节字符。 vbNarrow* 8* 将字符串中双字节字符转成单字节字符。vbKatakana** 16** 将字符串中平假名字符转成片假名字符。vbHiragana** 32** 将字符串中片假名字符转成平假名字符。vbUnicode 64 根据系统的缺省码页将字符串转成Unicode。vbFromUnicode 128 将字符串由Unicode 转成系统的缺省码页。 *应用到远东国别。**仅应用到日本。 注意这些常数是由VBA 指定的。可以在程序中使用它们来替换真正的值。其中大部分是可以组合的,例如vbUpperCase + vbWide,互斥的常数不能组合,例如vbUnicode + vbFromUnicode。当在不适用的国别使用常数vbWide、vb Narrow、vbKatakana,和vbHiragana 时,就会导致运行时错误。 下面是一些一般情况下的有效分界符:Null (Chr$(0)),水平制表符(Chr$(9)),换行(Chr$(10)),垂直制表符(Chr$(11)),换页(Chr$(12)) ,回车(Chr$(13)),空白(SBCS) (Chr$(32))。在DBCS中,空白的实际值会随国家/地区而不同。说明 在把ANSI 格式的Byte 数组转换为字符串时,您应该使用StrConv 函数。当

excel宏教程-VB汇总

Excel宏教程 一、选中单个单元格 Range(“<单元格地址>“).Select 例:Range("C9").Select …选中“C9”单元格 二、选中多个单元格 Range(“<单元格地址>:<单元格地址>[,<单元格地址>……]”).Select 例:Range(“A1:B2”).Select…选中“A1”、“A2”、“B1”、“B2”四个连续的单元格Range(“12:12”).Select…选中第12行 Range(“B:B”).Select…选中第B列 Range(“A1:A2,B7,2:2”).Select…选中“A1”、“A2”、“B7”五个不连续的单元格和第二行Cells.Select …选中当前SHEET中的所有单元格 Rows("<行地址>:<行地址>").Select …选中整行 Columns("<列地址>:<列地址>").Select …选中整列 例:Rows(“2:2”). Select…选中第2行 Rows(“2:5”). Select…选中2到5行 Columns("A:A").Select …选中A列 Columns("E:B").Select …选中E到B列

三、设置活动单元格 Range("<单元格地址>").Activate 注:设置活动单元格与选中单元格类似,不同之处就是 后者在选中指定的单元格之前会将在此前已被选中的单元格取消掉。 前者在设置之前不会取消已选中的单元格, 如果此时操作的单元格不是被选中的单元格,这时他实现的功能与选一个单元格相同。 四、给活动的单元格赋值 ActiveCell.FormulaR1C1 = <值> 例:Range("A1").Select ActiveCell.FormulaR1C1 = "Name" Range("B1").Select ActiveCell.FormulaR1C1 = "Age" Range("A2:B3").Select Range("A2").Activate ActiveCell.FormulaR1C1 = " BUG" Range("B2").Activate ActiveCell.FormulaR1C1 = "12" Range("A3").Activate ActiveCell.FormulaR1C1 = "Archer" Range("B3").Activate ActiveCell.FormulaR1C1 = "37"