3

私が構築している VB アプリケーションでは、Outlook を起動する必要があります。明らかに、すべてのコンピューターで Outlook へのパスは同じではありません。したがって、Shell("path") を実行する前に、ユーザーのコンピューターで Outlook のパスを見つける方法を知る必要があります。どうすればいいですか?

4

6 に答える 6

4

通常、Outlook は環境パスにインストールされるため、次を使用できます。

 Process.Start("Outlook.exe")
于 2011-07-07T13:52:21.807 に答える
3

まず、ユーザーが複数のバージョンの Outlook をインストールしている可能性があります。

次のレジストリ パスを試すことができます。

HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\OUTLOOK.EXE\Path

...うまくいきます!

ちなみに、メールなどを送信する場合は、コマンドラインを実行できますmailto:address@here.com-mailto:プロトコルを見てください。任意の電子メール クライアントを起動します。

于 2011-07-07T13:52:02.517 に答える
2

Outlook (または任意の既定の電子メール クライアント) を介してメールを送信するだけの場合は、いつでも shellmailto: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

Microsoft Office がインストールされているかどうかをプログラムで判断する方法を参照してください。

于 2011-07-07T13:51:54.353 に答える
1

exe を見つけて Outlook を起動するわけではありません。

作成することで起動します。

Dim o As Object = CreateObject("Outlook.Application")
o.Visible = True

(必須Option Strict Off)

于 2011-07-07T13:54:34.950 に答える
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このレジストリ値で指定されたフォルダに存在します。

于 2011-07-07T13:54:42.980 に答える
0

.net 環境変数の 1 つがデフォルトのプログラム ファイル ディレクトリを指すと思います。しかし、ユーザーがこれを任意の場所にインストールする場合は、FileSystemObject オブジェクトを使用してファイル システムを一周し、outlook.exe を探すだけで済みます。

于 2011-07-07T13:51:15.960 に答える