使用 FeatureInstall 属性可以指定或确定 Microsoft Access 如何处理对需要尚未安装功能的方法和属性的调用。MsoFeatureInstall 型,可读/写。
MsoFeatureInstall 可以是下列 MsoFeatureInstall 常量之一: |
msoFeatureInstallNone (默认值)运行期间,当调用未安装的功能时,出现“自动化”错误。 |
msoFeatureInstallOnDemand 提示用户安装新功能。 |
msoFeatureInstallOnDemandWithUI 自动安装功能,并且在安装时显示进度表。不提示用户安装新功能。 |
expression.FeatureInstall
expression 必需。返回“应用于”列表中的一个对象的表达式。
当 VBA 代码引用一个未安装的对象时,Microsoft“安装程序”技术将尝试安装所需功能。使用 FeatureInstall 属性可控制在引用一个未安装的对象时发生的情况。当此功能设置为默认值时,任何使用未安装对象的尝试都会引起“安装程序”技术试图安装所需功能。在某些情况下,这会花费一些时间,并且用户可能会认为机器已经对其他命令停止了响应。
可以将 FeatureInstall 属性设置为 msoFeatureInstallOnDemandWithUI,这样用户就可以看到安装所需功能时发生的事情。如果想要捕获返回的错误并向用户显示自己的对话框,或想要执行自定义操作时,可以将 FeatureInstall 属性设置为 msoFeatureInstallNone。
如果 UserControl 属性设置为 False,那么即使 FeatureInstall 属性设置为 msoFeatureInstallOnDemand 也不提示用户安装新功能。如果 UserControl 属性设置为 True,那么当 FeatureInstall 属性设置为 msoFeatureInstallOnDemand 时,将显示安装进度表。
此示例检查 FeatureInstall 属性的值。如果属性设置为 msoFeatureInstallNone,代码将显示消息框,询问用户是否要更改属性设置。如果用户响应为“是”,那么将属性设置为 msoFeatureInstallOnDemand。此示例使用定义为应用程序对象的名为 MyOfficeApp 的对象变量。
Dim myofficeapp As Access.Application
Set myofficeapp = New Access.Application
With MyOfficeApp
If .FeatureInstall = msoFeatureInstallNone Then
Reply = MsgBox("Uninstalled features for " _
& "this application may " & vbCrLf _
& "cause a run-time error when called." _
& vbCrLf & vbCrLf _
& "Would you like to change this setting" & vbCrLf _
& "to automatically install missing features?", _
vbYesNo, "Feature Install Setting")
If Reply = vbYes Then
.FeatureInstall = msoFeatureInstallOnDemand
End If
End If
End With