按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
mandButton1_Click() a = TextBox1。Text b = TextBox2。Text aa = Len(a) i = 1 Dim YY
As String If b = 〃〃 Then Exit Sub Do If InStr(i; a; b; vbTextpare) = 0 Then Exit
Do kk = InStr(i; a; b; vbTextpare) YY = YY & CStr(kk) & 〃/〃 i = kk + 1 Loop While
aa 》= i TextBox3。Text = YY End Sub ActiveX控件在Excel97中的运用 Excel97在工作表或
图表上可使用ActiveX控件,根据我使用的体会,在工作上处理控件时,必须注意和了解如下
事项: (一)用Excel5。0/95工作簿文件格式保存Excel97工作簿时,将选择ActiveX控件信息。
当用户通过双击鼠标来编辑内嵌在其它应用程序文档中的Excel97工作簿时,该工作簿上的控
件将不会正常工作。如果用户是通过用右键单击工作簿,然后选中快捷菜单上的―打开‖
XXXVIII
…………………………………………………………Page 39……………………………………………………………
Excel_word_ppt_使用技巧大全(完全版)
命令来编辑工作簿的话,工作簿上的控件就能正常工作了。 (二)当ActiveX控件处于激活状态
时,将禁用某些MicrosoftExcelVisualBasic方法和属性。例如,当某一控件激活时,就不能
使用Sort方法,故下述按钮单击事件处理过程中的代码将失败 (因为用户单击按钮后,该按钮
就 处 于 激 活 状 态 ) 。 PrivateSubmandButton1 Click Range( a1:a10 )
SortKey1:=Range(a1) EndSub 解决办法是通过选激活工作表上其它元素的方法来绕过这
种问题。例如,可用下列代码对单元格区域排序: PrivateSubmandButton1 Click
Range(a1) Activate Range(a1:a10) SortKey1:=Range(a1) mandButton1
Activate End Sub (三)在MicrosoftExcel 中,用OLEObjects集合中的OLEObject对象代表
ActiveX控件。如果要用编程的方式向工作表添加ActiveX控件,可用OLEObjects集合的Add方
法。例如向第一张工作表添加命令按钮。 Worksheets(1) OLEObjects Add Forms
mandButton 1,_ Left:=10;Top:=10;Height:=20;Width:=100 因为ActiveX控件也可用
OLEObjects集合中的OLEObject对象代表,所以也可用该集合中的对象来设置控件的属性。例
如要设置控件―mandBotton1‖ 的― 左边位置‖ 属性。 Worksheets(1) OLEObjects(
mandButton1 ) Left=10 那些不属于OLEObject对象属性的控件属性,可通过由Object
属性返回的实际控件对象来设置。例如要设置控件―mandButton1‖ 的标题。 Worksheets(1)
OLEObjects( mandButton1 ) Object Caption= runme 因为所有的OLE对象也是
Shapes集合的成员,所以也可用该集合设置若干控件的属性。例如要对齐第一张工作表上所有
控件的左边框。 ForEachsInWorksheets(1) Shapes Ifs Type=msoOLEControlObjectThens
Left=10 Next 请注意,当在控件所在工作表的类模块之外使用控件的名称时,必须用工作表
的名称限定该控件的名称。在工作表上ActiveX控件的事件处理过程中,Me关键字所指向的是
工作表,而非控件 65、在Excel中利用VBA创建多级选单 Excel是我们常用的报表处理软件之
一,对于大多数人来说只是使用它进行打印报表,没有注意其他功能,其实利用Excel内嵌的
VBA 语言完全可以快速开发出自己企业的应用系统来,而且应用系统界面与其它专业编程语言
相当相似。下面笔者简单通过一个实例说明如何利用VBA创建多级选单。 首先,我们对Excel
中两个重要的内置函数auto_open() 和 auto_close()作一简单说明。 auto_open() :在打开
工作簿时系统将自动执行该函数,因此我们可以在该函数中调用自己应用程序的选单函数以及
其它需要初始化设置的函数及宏语句; auto_close():在关闭工作簿时系统将自动执行该函
数。所以我们需要在该函数中放置删除用户自定义选单语句,否则只有退出Excel才能恢复
EXCEL的系统选单。 在以下语句中,我们定义了选单设置函数 OpenMyMenu(),用于设置多级
选单,其他有关说明见程序内注释,详细代码如下: Sub OpenMyMenu() +自定义多级选单函
数
XXXIX
…………………………………………………………Page 40……………………………………………………………
Excel_word_ppt_使用技巧大全(完全版)
On Error Resume Next +忽略错误 MenuBars(〃MyMenu〃)。Delete +删除自定义选单
MenuBars。Add (〃MyMenu〃) + 自 定 义 选 单 项 Sheets(〃sheet1〃)。Select
MenuBars(〃MyMenu〃)。Menus。Add Caption:=〃金融〃 +增加第一个选单项―金融‖ +以下三句
为在―金融‖选单下增加―银行法、货币政策和条例‖三项选单项 MenuBars(〃MyMenu〃)。Menus(〃
金 融 〃)。MenuItems。Add Caption:=〃 银 行 法 〃; OnAction:=〃 银 行 法 〃
MenuBars(〃MyMenu〃)。Menus(〃金融〃)。MenuItems。Add Caption:=〃货币政策〃; OnAction:=〃货
币 政 策 〃 MenuBars(〃MyMenu〃)。Menus(〃 金 融 〃)。MenuItems。Add Caption:=〃 条 例 〃;
OnAction:=〃条例〃 +以下为创建如图所示的多级选单 MenuBars(〃MyMenu〃)。Menus。Add
Caption:=〃经济〃 '建立选单项―经济‖ +以下三句为在―经济‖选单下增加―农业、工业和第三
产业‖三项选单项 MenuBars(〃MyMenu〃)。Menus(〃经济〃)。MenuItems。Add Caption:=〃农业〃;
OnAction:=〃农业〃 MenuBars(〃MyMenu〃)。Menus(〃经济〃)。MenuItems。Add Caption:=〃工业〃;
OnAction:=〃工业〃 MenuBars(〃MyMenu〃)。Menus(〃经济〃)。MenuItems。AddMenu Caption:=〃第三
产业〃 +以下三句为在―第三产业‖选单下增加―概况、范畴‖二项选单项和―饮食服务业‖子选单
MenuBars(〃MyMenu〃)。Menus(〃经济〃)。MenuItems(〃第三产业〃)。MenuItems。Add Caption:=〃概
况 〃; OnAction:=〃 概 况 〃 MenuBars(〃MyMenu〃)。Menus(〃 经 济 〃)。MenuItems(〃 第 三 产 业
〃)。MenuItems。Add Caption:=〃范畴〃; OnAction:=〃范畴〃 MenuBars(〃MyMenu〃)。Menus(〃经济
〃)。MenuItems(〃第三产业〃)。MenuItems。AddMenu Caption:=〃饮食服务业〃 +以下二句为在
―饮食服务业‖选单下增加― 酒店1、酒店2‖ 二项选单项 MenuBars(〃MyMenu〃)。Menus(〃经济
〃)。MenuItems(〃第三产业〃)。MenuItems(〃饮食服务业〃)。MenuItems。Add Caption:=〃酒店1〃;
OnAction:=〃 酒 店 1〃 MenuBars(〃MyMenu〃)。Menus(〃 经 济 〃)。MenuItems(〃 第 三 产 业
〃)。MenuItems(〃饮食服务 业 〃)。MenuItems。Add Caption:=〃 酒店 2〃; OnAction:=〃 酒店 2〃
MenuBars(〃MyMenu〃)。Activate +激活自定义选单 End Sub Sub auto_open() +系统自动打
开运行宏 OpenMyMenu +调用用户选单函数 End Sub Sub auto_close() +系统自动关闭运行
宏 On Error Resume Next +忽略错误 MenuBars(〃MyMenu〃)。Delete +删除自定义选单 End
Sub 读者可以在自己的工作簿选单―工具‖ 中的―宏‖下,创建以上三个函数并将以上函数语句拷
贝到其中即可运行。 66、。用VBA(编程)保护Excel文档 VBA (Visual Basic for Application)
是Excel应用程序中功能非常强大的编程语言,为了规范不同的用户对Excel应用程序的访问能
力,需要对Excel文档及有关的数据进行有效的保护, 这里根据自己及同行们的体会,从以下
二个方面介绍用VBA编程法实现对Excel文档的保护。 对工作簿的保护
XL
…………………………………………………………Page 41……………………………………………………………
Excel_word_ppt_使用技巧大全(完全版)
1。利用VBA中Workbook对象的SaveAs方法实现对工作簿的保护, 下面就对SaveAs有 关的参量
作一介绍: Filename:该字符串表示要保存的文件名。 可包含完整路径。 如果不指定路径,
Microsoft Excel 将文件保存到当前文件夹。 FileFormat : 可选,文件的保存格式。
Password :为一个区分大小写的字符串(不超过15个字符) ,用于指定文件的保护密码。
WriteResPassword: 该字符串表示文件的写保护密码。 如果文件保存时带有密码,但打开文
件时不输入密码,则该文件以只读模式打开。 ReadOnlyRemended :如果为True则在打开
文件时显示一条信息,提示该文件以只读模式打开。 下例就是在Excel应用程序中添加一工作
簿,将工作簿按常规文件格式存为―C:pjobj经济评价。xls‖文件,并给该文件指定保护密码
―12‖ 以及写保护密码―23‖ 。 Sub 保护工作簿 NewWorkbook = Workbooks。add
NewWorkbook。SaveAs FileName: =〃C: pjobj 经 济 评 价 。xls〃; FileFormat: =
XlNormal;Password:=〃12〃;WriteResPassword:=23 End sub 2。利用VBA中Workbook对象的
Protect方法对工作簿的结构和窗口进行保护,Workbook对象的Protect方法带有以下三个参
量: Password: 为加在工作表或工作簿上区分大小写的密码字符串。 如果省略本参数,不
用密码就可以取消对该工作簿的保护。否则,取消对该工作表或工作簿的保护时必须提供该密
码。如果忘记了密码,就无法取消对该工作表或工作簿的保护。最好在安全的 地方保存一份
密码及其对应文档名的列表。 Structure: 若为True则保护工作簿结构(工作簿中工作表的
相对位置)。默认值为False。 Windows 若为True则保护工作簿窗口。 下例就是对一名为―经
济评价。xls‖ 的工作簿实现―结构‖和―窗口‖保护: Sub 保护工作簿 Workbooks (经济
评价) 。Protect Password: =〃1234〃; Structure: =True; Windows:=True End sub Workbook
对象的Unprotect方法用于取消对工作簿的保护。Unprotect方法只有一个参量,就是保护工作
表时所用的口令。 3。对工作簿进行隐藏保护,可使他人无法看到其对应的窗口。操作方法如
下: 在VBA中使用Workbook对象下面的Windows对象的Visible属性对工作簿进行隐藏和取消隐
藏,Visible属性的值可取―True‖和―False‖两种。 下面程序代码完成对工作簿―book。xls‖ 的
隐藏: Sub 隐藏工作