Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 用于从注册表读取的VBA_Ms Access_Vba_Ms Access 2007_Registry - Fatal编程技术网

Ms access 用于从注册表读取的VBA

Ms access 用于从注册表读取的VBA,ms-access,vba,ms-access-2007,registry,Ms Access,Vba,Ms Access 2007,Registry,是否有代码允许我从ms access读取安装在计算机上的office版本以及DLL的位置 因此,我最近确信,后期绑定是我的应用程序实现自动化的一种方式。然而,自动化是这个应用程序的主要功能,我需要从一些特定于版本的代码中派生出不同的例程(主要用于ppt演示) 因此,我不再试图用引用检查来解决我的问题&isbreak方法,因为这不会有任何帮助。但我仍然想知道安装了什么verison of office,安装了每个office应用程序的哪个版本(Excel 11.0、Outlook 11.0等),以

是否有代码允许我从ms access读取安装在计算机上的office版本以及DLL的位置

因此,我最近确信,后期绑定是我的应用程序实现自动化的一种方式。然而,自动化是这个应用程序的主要功能,我需要从一些特定于版本的代码中派生出不同的例程(主要用于ppt演示)


因此,我不再试图用引用检查来解决我的问题&isbreak方法,因为这不会有任何帮助。但我仍然想知道安装了什么verison of office,安装了每个office应用程序的哪个版本(Excel 11.0、Outlook 11.0等),以及DLL的文件路径


因此,我想知道我是否可以通过阅读注册表来获得此信息?

如果您的后期绑定肯定只需要版本不可知的
*。应用程序
progid

Dim oApp As Object
Set oApp = CreateObject("Excel.Application")
Debug.Print "ver " & oApp.Version, "build " & oApp.Build
oApp.Quit

如果您的后期绑定肯定只需要版本无关的应用程序progid

Dim oApp As Object
Set oApp = CreateObject("Excel.Application")
Debug.Print "ver " & oApp.Version, "build " & oApp.Build
oApp.Quit

SysCmd方法可用于确定有关Microsoft Access的系统信息

SysCmd(acSysCmdAccessVer)
-将返回访问版本

SysCmd(acSysCmdAccessDir)
-将返回DLL的文件路径

SysCmd方法可用于确定有关Microsoft Access的系统信息

SysCmd(acSysCmdAccessVer)
-将返回访问版本

SysCmd(acSysCmdAccessDir)
-将返回DLL的文件路径

“安装了什么版本的office”为什么?你打算如何使用这些信息?您的任何目标计算机是否可以安装多个版本的Office?如果是,您需要什么信息?“指向DLL的文件路径”哪些DLL,为什么?将VBA引用设置为“Microsoft PowerPoint 11.0对象库”时,我的计算机上的文件位置为“C:\Program Files\Microsoft Office\OFFICE11\MSPPT.OLB”。您对DLL位置有何要求?@Hans…实际上,根据策略,这些计算机上不能安装多个版本的Office(但这并不是说有些人可能会这么做)。因此Office*文件夹根据站点的配置存储在不同的位置…有些地方是C:\Programs Files\…其他地方是C:\Office…有些地方一起使用完全不同的驱动器。基本上,我将开始使用后期绑定,但人们似乎会说,如果自动化不起作用,至少是这样应用程序的其余部分会。所以我需要一种方法来检查哪个库…(续)…正在使用中。这样我可以根据版本调整调用的例程…也许下面的示例可以帮我解决这个问题!谢谢!嘿,Justin。告诉我们您需要如何调整代码以响应不同的Office应用程序版本。我从来没有做过类似的事情。“安装了什么verison of Office”为什么?您打算如何使用这些信息?您的任何目标计算机是否可以安装多个版本的Office?如果可以,您需要什么信息?“指向DLL的文件路径”哪些DLL,以及原因?将VBA引用设置为“Microsoft PowerPoint 11.0对象库”时,我的计算机上的文件位置为“C:\Program Files\Microsoft Office\OFFICE11\MSPPT.OLB”你想要什么DLL位置?@Hans…事实上,作为一项政策,Hans他们不能在这些机器上安装多个版本的Office(但这并不是说有些人可能会这么做)。因此Office*文件夹根据站点的配置存储在不同的位置…有些地方是C:\Programs Files\…其他地方是C:\Office…有些地方一起使用完全不同的驱动器。基本上,我将开始使用后期绑定,但人们似乎会说,如果自动化不起作用,至少是这样应用程序的其余部分会。所以我需要一种方法来检查哪个库…(续)…正在使用中。这样我就可以根据它的版本调整调用的例程…也许下面的示例可以帮我解决这个问题!谢谢!嘿,Justin。告诉我们您需要如何调整代码以响应不同的Office应用程序版本。我从来没有做过类似的事情。