在我正在构建的VB应用程序中,我需要启动Outlook。显然,在每台计算机上,Outlook的路径都不一样。因此,我需要知道在Shell(“路径”)之前如何在用户的计算机上找到Outlook的路径。我该怎么做?
答案 0 :(得分:4)
通常将Outlook安装到环境路径中,因此您可以使用:
Process.Start("Outlook.exe")
答案 1 :(得分:2)
如果您只是想通过outlook(或任何默认的电子邮件客户端)发送邮件,您可以随时只发送mailto:name@host.com
,这将在主题行中创建包含电子邮件的新邮件。您还可以使用HTML电子邮件shell附加其他变量。
否则... 的
您可以检查是否安装了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
请参阅How to programatically determine if Microsoft Office is installed
答案 2 :(得分:2)
首先,用户可能安装了多个版本的Outlook。
您可以尝试以下注册表路径:
HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\OUTLOOK.EXE\Path
......适合我!
顺便提一下,如果您要发送电子邮件等,可以运行命令行mailto:address@here.com
- 查看mailto:
协议。它将启动任何电子邮件客户端。
答案 3 :(得分:1)
您不会通过查找其exe来启动Outlook。
您可以通过创建它来启动它。
Dim o As Object = CreateObject("Outlook.Application")
o.Visible = True
(需要Option Strict Off
)
答案 4 :(得分:1)
这取决于您使用的Office版本,但对于64位Windows上的Office 2010,Microsoft Office安装根文件夹保存在注册表项Path
下的HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Outlook\InstallRoot
值中。对于32位Windows,请删除Wow6432Node
。 OUTLOOK.EXE
位于此注册表值指定的文件夹中。
答案 5 :(得分:0)
我认为其中一个.net environment variables将指向默认的程序文件目录。但是,如果用户安装在任何地方,您可能只需使用FileSystemObject object并在文件系统中运行以查找outlook.exe。