如何在Windows 10计算机上从Microsoft Access VBA启动Metro应用程序

如何在Windows 10计算机上从Microsoft Access VBA启动Metro应用程序,windows,vba,shell,camera,ms-access-2010,Windows,Vba,Shell,Camera,Ms Access 2010,我有一种情况,我想从我的Microsoft Access程序中使用Windows 10中的摄像头应用程序。通常我可以只发送一个命令来执行程序的可执行文件,但对于metro应用程序,没有直接的可执行文件 我使用的基本代码如下: Shell """" & PthToExe & """", vbNormalFocus PthToExe是可执行文件的路径名。我四处查看了一下,但找不到任何简单的解决方案,最后找到了自己的解决方案。我的解决方案是创建一个指向相机应用程序的快捷链接,然后启动

我有一种情况,我想从我的Microsoft Access程序中使用Windows 10中的摄像头应用程序。通常我可以只发送一个命令来执行程序的可执行文件,但对于metro应用程序,没有直接的可执行文件

我使用的基本代码如下:

Shell """" & PthToExe & """", vbNormalFocus

PthToExe
是可执行文件的路径名。

我四处查看了一下,但找不到任何简单的解决方案,最后找到了自己的解决方案。我的解决方案是创建一个指向相机应用程序的快捷链接,然后启动该链接

要在Windows 10中创建快捷链接,您可以单击“开始”按钮,转到“所有应用程序”,找到所需的应用程序(在我的示例中为“照相机”),然后单击并将其拖动到桌面

现在有了快捷方式,可以从命令行启动快捷方式。(为了使我的快捷方式不会弄乱我的桌面,我把它从桌面拖到“C”驱动器上的一个文件夹中。)

像这样在命令提示符中键入路径,然后按enter键测试启动应用程序:
C:\GJ\Camera.lnk

因此,如果您想从命令行启动,这就解决了问题。但是,由于某些原因,Access不会接受该命令。我绕过它的方法是将命令放在批处理文件中(编辑:或者,请参见HansUp的评论)。为此,只需打开记事本,键入与在命令提示符中键入的内容相同的内容,保存记事本文档,然后重命名该文档,使其具有.bat扩展名

然后,您可以从Microsoft Access执行.bat文件,如下所示:

Shell“C:\GJ\OpenCamera.bat”,vbMinimizedNoFocus


请注意,通常情况下,我在运行shell命令时使用vbNormalFocus,但在这种情况下,最好不要在实际程序打开之前看到小命令提示符打开。

如果没有.bat文件,您可以这样做吗<代码>Shell“cmd/C:\GJ\Camera.lnk”谢谢您的评论。这确实有效,而且更简单。