当前位置:文档之家› 在-Windows-7-环境下封装-Excel-VBA-代码

在-Windows-7-环境下封装-Excel-VBA-代码

在Windows 7 环境下封装Excel VBA 代码
一、安装Visual Basic 6.0
在Windows 7 下安装Visual Basic 6.0安装会遇到一些兼容性问题,而Windows XP 则很顺利。

当某些程序必须要在Windows 7 下调试的时候,就一定要面对Windows 7 了。

(一)进入安装文件夹,点击“Setup.exe”运行Visual Basic 6.0安装程序。

(二)出现兼容性问题提示,单击“运行程序”。

(三)进入Visual Basic 6.0安装向导,单击“下一步”。

(四)出现“最终用户许可协议”对话框,选择“接受协议”,单击“下一步”。

(五)进入“产品和用户ID”对话框,在“请输入产品的ID号”处输入ID号,全部输入0至9中的任意一个,然后单击“下一步”。

(六)保持默认选择“安装Visual Basic 6.0中文企业版”,单击“下一步”。

(七)选择公用安装文件夹,采取默认或自定义均可。

然后单击“下一步”
(八)再次出现兼容性问题提示,直接单击“运行程序”。

(九)进入Visual Basic 6.0 安装程序,单击“继续”后,单击“确定”。

(十)出现“发现了旧版本的Visual SourceSafe”提示,选择“是”
(十一)在选择安装类型对话框中,封装Excel VBA 代码选择“典型安装”即可。

(十二)出现“使用新的Visual SourceSafe数据库格式”提示,选择“是”
(十三)开始Visual Basic 6.0安装。

(十四)安装完毕,单击“重新启动Windows”。

重新启动Windows后,自动弹出下面的对话框。

如果需要帮助文档,可单击“下一步”继续安装MSDN,对于Visual Basic 6.0的初学者,建议安装。

在安装MSDN 过程中,插入MSDN安装盘按照提示进行安装。

如果不需要帮助文档,单击“退出”,Visual Basic 6.0安装完成。

二、运行Visual Basic 6.0
由于在Windows 7下运行Visual Basic 6.0存在兼容性问题,因此必须对其进行设置才可正常运行。

(一)单击“开始→所有程序→Microsoft Visual Basic 6.0 中文版”,用鼠标右击“Microsoft Visual Basic 6.0 中文版”,点击“属性”。

(二)在弹出的“Microsoft Visual Basic 6.0 中文版属性”对话框中,勾选“以兼容模式运行这个程序”与“以管理员身份运行此程序”其中之一,如两者都不勾选,也可在点击“Microsoft Visual Basic 6.0 中文版”时以管理员身份运行,否则将弹出下面的错误:
(三)勾选“禁用视觉主题”、“禁用桌面元素”或两者均勾选,以使程序运行流畅。

至此,Visual Basic 6.0可以正常运行了。

我们封闭一个Excel VBA 代码试试。

(四)运行Visual Basic 6.0中文版,在自动弹出的“新建工程”对话框中选择“ActiveX Dll”。

(五)在代码框中输入如下代码:
Sub Test()
MsgBox "Welcome to Excel VBA!"
End Sub
“MsgBox "Welcome to Excel VBA!"”这段代码显示一条弹出信息,虽然很简单,但却可以测试Visual Basic 6.0封装Excel VBA 代码是否正常。

代码输入完毕后,单击“工程→引用”,对封装应用程序进行设置。

在弹出的“引用-工程1”对话框中,勾选“Microsoft Excel 12.0 Object Library”和“Microsoft Office 12.0 Object Library”。

这里的12.0指的是Office 2007,Office 2003是11.0,Office 2010是14.0,Office 2013是15.0,外国人认为13是不吉利的数字,因而是没有13.0的。

勾选完毕后单击“确定”。

(六)接下保存“工程1”到一个指定文件夹,然后单击“文件→生成工程1.dll”,如果没有什么提示,生成“ActiveX Dll”成功。

(七)在Excel VBA 中调用刚才生成的“工程1.dll”。

进入VBA前请首先启用宏或对宏安全性进行设置。

打开或新建一个工作薄,进入VBE编辑环境,单击“工具→引用”,在弹出的“引用-VBAProject”对话框中单击“浏览”找到“工程 1.dll”,单
击“打开”,最后再单击“确定”。

(八)在VBE编辑环境中双击“ThisWorkbook”对象,输入如下代码:
Private Sub Workbook_Open() '注册工程1.dll
Shell "Regsvr32 /s " & VBA.Chr(34) & ThisWorkbook.Path & "\工程1.dll" & VBA.Chr(34), vbHide
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) '反注册工程1.dll
Shell "Regsvr32 /u /s " & VBA.Chr(34) & ThisWorkbook.Path & "\工程1.dll" & VBA.Chr(34), vbHide
End Sub
关闭VBE环境,在Sheet1工作表中插入一个按键,添加如下代码:
Private Sub CommandButton1_Click()
Dim kk As New Class1 'Class1是类模块名称
kk.Test 'Test是Class1中的过程名称
Set kk = Nothing
End Sub
在上述代码中,“Dim kk As New Class1”设置一个对象kk,“kk.Test”引用kk对象中的Test过程。

(九)关闭VBE环境,单击“CommandButton1”试试。

Visual Basic 6.0 封装Excel VBA 代码环境安装测试完毕。

如果以后出现错误提示,错误是在Visual Basic 6.0中的代码。

Visual Basic 6.0最多只能在Windows 7下兼容安装,在Windows 8中就不能安装了。

在封装EXcel VBA代码时需注意,在Windows 7 环境下封装的Dll可在Windows XP环境下运行,在高版本Excel VBA
中封装的可在低版本的Excel VBA中运行,反之则不行。

所以,当Visual Basic 6.0代码编辑完成后,尽量在Windows 7和Excel 2013环境下封装,这样通用性要强一些。

相关主题