在我正在构建的 VB 应用程序中,我需要启动 Outlook。显然,在每台计算机上,通往 Outlook 的路径都不相同。因此,在Shell("path") 之前,我需要知道如何在用户计算机上找到Outlook 的路径。我该怎么做?
6 回答
通常 Outlook 安装到环境路径中,因此您可以使用:
Process.Start("Outlook.exe")
首先,用户可能安装了多个版本的 Outlook。
你可以试试这个注册表路径:
HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\OUTLOOK.EXE\Path
...为我工作!
顺便说一句,如果您要发送电子邮件等,您可以运行命令行,mailto:address@here.com
-查看mailto:
协议。它将启动任何电子邮件客户端。
如果您只是想通过 Outlook(或任何默认电子邮件客户端)发送邮件,您总是可以只使用 shell mailto:name@host.com
,这将创建一个新的邮件消息,主题行中包含电子邮件。您还可以使用 HTML 电子邮件外壳附加其他变量。
否则...
您可以检查是否安装了 Microsoft Office,并通过注册表获取路径。然后,您可以导航到 Outlook 目录,例如
Sub CheckOfficeXPInstalled()
InstallRoot = System.PrivateProfileString("", _
"HKEY_LOCAL_MACHINE\Software\Microsoft\Office\10.0\Common\InstallRoot", _
"Path")
If InstallRoot <> "" Then
MsgBox "An Office XP Family Product is installed at " & InstallRoot
End If
End Sub
您不会通过查找它的 exe 来启动 Outlook。
您通过创建它来启动它。
Dim o As Object = CreateObject("Outlook.Application")
o.Visible = True
(需要Option Strict Off
)
这取决于您使用的 Office 版本,但对于 64 位 Windows 上的 Office 2010,Microsoft Office 安装根文件夹保存在Path
注册表项下的值中HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Outlook\InstallRoot
。对于 32 位 Windows,删除Wow6432Node
. OUTLOOK.EXE
位于此注册表值指定的文件夹中。
我认为.net 环境变量之一将指向默认程序文件目录。但是,如果用户安装在任何地方,您可能只需要使用FileSystemObject 对象并在文件系统中运行以查找 outlook.exe。