こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

ボタンをクリックしてファイルを開く

Microsoft Visual Basic 2010 Expressを使ってプログラミングをし始めた初心者です。

Windowsフォームアプリケーションを作っているのですが、わからないことがありましたので質問します。

あるボタンを作り、そのボタンを押したときに特定のファイルをシステムで設定してある既定のプログラム(docxならWord、xlsxならexcelなど)で開くプログラムを作成したいです。

うまく説明できてないと思うので、下記が例です。

「Button1」を作ったとします。
そして、「Button1」をクリックしたときに、
例えばマイドキュメントの「A.docx」をWordで開くように設定するには
どのようにクリックイベントのプログラムを作成すればよいのでしょうか?

よろしくお願いします。

投稿日時 - 2010-12-27 11:47:37

QNo.6410011

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

解決しましたか?

投稿日時 - 2011-02-11 20:40:21

ANo.4

Process.Startを使った処理ではダメなのでしょうか?
それならば、API関数を使った方法を紹介します。
使い方はご自身で考えてください。

参考URL:http://www.winapi-database.com/Program/Shell/ShellExecute.html

投稿日時 - 2011-01-11 13:05:36

ANo.3

Process.Startを使った処理例

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyDoc As String
'My Documentsフォルダを取得
MyDoc = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal)
Try
'ファイルを既定のアプリケーションで開く
Process.Start(MyDoc & "\A.doc")
Catch ex As Exception
'エラーの場合
MsgBox(ex.Message, MsgBoxStyle.Critical, "エラー")
End Try
End Sub

投稿日時 - 2010-12-28 15:32:35

ANo.2

関連付けられたアプリケーションでファイルを開くには、

 Process.Start(ファイル名)

と指定します。

投稿日時 - 2010-12-27 13:07:41

ANo.1

方法はいろいろあります。
「ファイル選択ダイアログ」を使う。ソフトのファイルを開く、によくある仕組み、ドライブとフォルダを選んでファイル選択する。サンプルもネットにあります。

それか
コントロールにあるドライブリスト、フォルダリスト、ファイルリストを組み合わせて使う。ドライブ変わったとき、フォルダ変わったとき、ファイルをダブルクリックしたとき、随時イベントに処理を記載して行きます。

開くファイルが決まっているならSHELLあたり参考。


ファイルを決めるところから考えたいのでしょうか?。

投稿日時 - 2010-12-27 13:03:21

補足

Button1ならAのファイル、Button2ならBのファイルのように、
開きたいファイルは固定です。

ファイル選択ダイアログを使わずに、
ボタンをクリックするだけで起動するようにしたいです。

投稿日時 - 2010-12-27 15:34:37