2011-07-07 14 views
3

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

+0

私の間違った「近い」投票を許してください。私はあまりにも幸せになった。 –

+0

あなたのアプリを使ってOutlookにアクセスしたい場合は、このhttp://stackoverflow.com/questions/6603287/references-in-microsoft-visual-studio-not-workingを参照してください。 – dbasnett

答えて

0

私は.net environment variablesの1つがデフォルトのプログラムファイルディレクトリを指していると思います。しかし、ユーザーがどこにでもインストールする場合は、単にFileSystemObject objectを使用し、outlook.exeを探すファイルシステムを実行するだけです。

+0

envの必要はありません。変数、GetSpecialFolderのようなものがあります... –

+0

@davide GetSpecialFolderはよく見えます - http://msdn.microsoft.com/en-us/library/a72y2t1c(v=vs.85).aspx - ゴミ箱の名前、心! – amelvin

2

Outlook(または任意のデフォルトの電子メールクライアント)を介してメールを送信するだけの場合は、常にmailto:[email protected]をシェルすると、件名に電子メールを含む新しいメールメッセージが作成されます。また、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 

How to programatically determine if Microsoft Office is installed

2

まずを参照してください、ユーザーは複数のバージョンのOutlookがインストールされている場合があります。あなたはこのレジストリパスを試みることができる

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

...私のための作品!

途中で電子メールなどを送信する場合は、コマンドラインmailto:[email protected]を実行することができます。mailto:プロトコルを参照してください。任意の電子メールクライアントを起動します。

4

通常Outlookが環境パスにインストールされているので、あなただけ使用することができます:あなたは、そのexeファイルを見つけることによって、Outlookを出せていない

Process.Start("Outlook.exe") 
+0

+1鉱山よりもはるかに良い解決策。 –

1

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

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

Option Strict Offが必要です)

+0

それは少し漏れているようです。後で行うクリーンアップはありませんか? –

+0

@Kierenあなたはそれをユーザーのために起動しました。それ以外の場合は 'o.Close'と' Marshal 'を返します。ReleaseComObject(o) 'を実行します。 – GSerg

1

64ビットWindows上でOffice 2010のMicrosoft Officeがインストールルートフォルダは下Path値に保持されているのは、あなたが使用しているOfficeのバージョンに依存するが、レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Outlook\InstallRoot。 32ビットWindowsの場合はWow6432Nodeを削除してください。 OUTLOOK.EXEは、このレジストリ値で指定されたフォルダに存在します。

関連する問題