DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

動詞を指定してファイルを開く

ファイルを動詞(open、print、editなど)を指定して関連付けられたソフトで開くには、ProcessStartInfoクラスとProcess.Startメソッドを使用します。このとき、ProcessStartInfoクラスのUseShellExecuteプロパティはTrueである必要があります(デフォルトでTrueなので、特に指定する必要はありません)。

なお、指定したファイルの種類に関連付けられているすべての動詞を取得する方法は「指定したファイルの種類に関連付けられている動詞の取得」をご覧ください。

次の例では"C:\test.txt"を動詞"print"として関連付けられたソフトで開いています(つまり、エクスプローラでファイルを右クリックして、コンテキストメニューで「印刷」を選択したのと同じことをしようとしています)。

VB.NET
コードを隠すコードを選択
'ProcessStartInfoクラスのインスタンスの作成
Dim psi As New System.Diagnostics.ProcessStartInfo()
'開くファイルを指定する
psi.FileName = "C:\test.txt"
'開くときに使用する動詞を"print"にする
psi.Verb = "print"
'ファイルを開く
System.Diagnostics.Process.Start(psi)
C#
コードを隠すコードを選択
//ProcessStartInfoクラスのインスタンスの作成
System.Diagnostics.ProcessStartInfo psi =
    new System.Diagnostics.ProcessStartInfo();
//開くファイルを指定する
psi.FileName = @"C:\test.txt";
//開くときに使用する動詞を"print"にする
psi.Verb = "print";
//ファイルを開く
System.Diagnostics.Process.Start(psi);

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • Windows Vista以降でUACが有効になっていると、ファイルへの書き込みに失敗する可能性があります。詳しくは、こちらをご覧ください。
  • .NET Tipsをご利用いただく際は、注意事項をお守りください。