• ベストアンサー

コモンダイアログのファイルを開くについて

Windowsのファイルを開くダイアログで、ファイルを開くダイアログから エクセルファイルを選択し、開くボタンを押したら、選択された エクセルファイルを開きたいのですが、ヘルプで参照したところコモンダイアログ があるのを知りました。 ダイアログを開くところまでは、できたのですが、次にエクセルファイルを選択 し、開くボタンを押したときのイベントってどうやってとればよいのかわかりません。 開くボタンを押時に、選択されているパスを取りたいのですが、それもどうやって 取ればよいのやら、、、(+_+) ご教示ねがえませんでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.2

Dim FileName As String Const ExcelFileName = "C:\Program Files\Microsoft Office\Office\Excel.exe " ' With CommonDialog .DialogTitle = "HogeHogeアプリケーション" .Filter = "Excel ファイル (*.xls)|*.xls|All File (*.*)|*.*" .Flags = cdlOFNExplorer Or cdlOFNHideReadOnly Or cdlOFNLongNames Or cdlOFNNoChangeDir .ShowOpen ' FileName = .FileName If (FileName <> "") Then Shell (ExcelFileName + FileName) End If End With

tariran
質問者

お礼

ご丁寧に、サンプルをいただきましてありがとうございました。 とても助かりました。 m(_ _)m

その他の回答 (1)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 コモンダイアログのFileNameプロパティで選択したファイルのフルパスを取得出来ます。 Dim PathName As String (略) With CommonDialog1   (略)   .ShowOpen   PathName = .FileName End With こんな感じです。 エクセルファイルを開くには、API関数のShellExecuteを使うと出来ます。 この関数は、拡張子に関連付けられたアプリケーション(例:xlsならMirosoft Excel)で開くことが出来ます。 ShellExecuteについては検索してみて下さい。 サンプルとかもたくさん落ちてます。 とりあえず、サンプルのあるところを1つ紹介しておきます。 では。

参考URL:
http://www.bcap.co.jp/hanafusa/
tariran
質問者

お礼

普通にOpenメソッドの後に記述すればよかったんですね。。 ありがとうございました。 助かりましたm(_ _)m

関連するQ&A

  • コモンダイアログからExcelへ

    コモンダイアログから既存のExcelファイルを表示させたいのですが、わかりません。 コモンダイアログの「開く」を押すとフルパスが取得されるというのは理解できたのですが、実際にプログラムをどう書いていいのかわかりません。 ファイルのパスを使うとはどういうことでしょうか? またshell関数をどう使えばいいのでしょうか? 基本的な質問で申し訳ありませんが、よろしくお願いします。

  • Excel97のVBAでコモンダイアログを使いたい

    現在Excel97で二つのテキストデータベース(固定長形式)を読み込み、解析を行おうとしています。 現在、べたに二つのファイルのパスをコードに書き込めばファイルの読み込みも上手くいくのですが、やはりここは出来るならばファイル指定を汎用のダイアログで行えるようにしたいと思いあれこれ方法を探しています。 そこで読み込みたい二つのファイルのパスを、VBで利用できるCommonDialogで取得出来るなら、一からファイル選択用フォームを作成しなくても済むので楽になると思いついたのですが、Excel97のVBAでの転用がうまくいかなくて企画倒れの状態になっています。 参照設定でComCtrl32.OCXを読み込めればと思い試験してみたもののうまくいかず、次の方法が見つからずに途方に暮れています。 もしかしてVBAではコモンダイアログは利用できないのでしょうか?

  • コモンダイアログコントロールの使い方

    お世話になっております。 VC++6.0でアプリ開発をしていますが、 コモンダイアログの使い方がわかりません。 ダイアログ上のボタンをクリックしたら 「ファイルを開く」のダイアログを表示させたいのですが。 ご回答よろしくお願いします。

  • ディレクトリを選択するコモンダイアログボックス

    Windows APIに関する質問です。 GetOpenFileNameを使うとファイルを選択するコモンダイアログボックスが使えますが、ファイルではなくディレクトリ(フォルダー)を選択するコモンダイアログボックというのは存在するのでしょうか?

  • Aドライブしか参照できないファイル選択コモンダイアログ

    VC++初心者のため漠然とした質問で申し訳ありません。 Aドライブしか参照できないようにファイル選択コモンダイアログに制限(というか参照ドライブのフィルタ)を設けたいのですが、可能なのでしょうか? よい方法をご存知の方具体的な処理記述方法など教えてください。また、参考になるサイトがあればあわせて教えてください。

  • コモンダイアログを表示したい

    Windows98/VisualBasic5.0を使用しています。 ファイル名を指定させるために、コモンダイアログを表示したいのですが方法がわかりません。 コントロールを貼り付ければよいのでしょうか? 初歩的な質問で申し訳ありませんが、よろしくお願いします。

  • コモンダイアログの表示

    VB.NETでエクセルをコントロールするS/Wを作っています保存時にコモンダイアログを表示させたいのですが、ツールBOXに見あたりません。どうすれば出てきますか。

  • コモンダイアログの設定

    アプリのファイル保存の時にでてくるコモンダイアログですが、デフォルトだとマイドキュメントが押下された状態になっていますが、これをデスクトップに設定する方法はありますか?

  • コモンダイアログボックスの並び順が逆順になって戻らない。。

    OSは、Windows XP homeです。 いろいろなアプリケーションで 「ファイルを開く」や「名前をつけて保存」する時などに表示される 「コモンダイアログボックス」について質問です。 この「コモンダイアログボックス」、通常ならば表示したときに [名前の正順]でアイコンが並んでいると思うのですが、 これがなぜか、[名前の逆順]で表示されるようになってしまいました。 特定のアプリケーションだけでなく、全てのアプリケーションで同じ症状です。 いちいち、[右クリック]-[アイコンの整列]-[名前]で元に戻すのも 全アプリケーションで毎回となると手間に感じます。 どうすれば、以前のように「コモンダイアログボックス」が[名前の正順]で開かれるのでしょうか? ちなみに、一度[名前の正順]に戻しても、コモンダイアログボックスを開き直すと また[名前の逆順]表示に戻ってしまいます。 どうか直し方を教えてください、お願いします。

  • コモンダイアログコントロールで選択されたブリンター名を得る方法を教えて下さい。

    現在VB5で作業をしています。 コモンダイアログコントロールで選択されたブリンター名を得る方法を教えて下さい。 作成中のアプリケーションが通常使うプリンタ名をユーザーにコモンダイアログで選択してもらってそのプリンタを次回起動時にすぐ使えるようにPrintersオブジェクトで選択出来るようにする為に保存しておくのが目的です。(Windowsのシステムで設定している「通常使うプリンタ」とこのアプリケーションが通常使うプリンタとは必ずしも一致しないことを前提に) そして、PrinterDefault=Falseの時、選択されたプリンタ名を再びコモンダイアログに反映する方法も教えて頂きたいです。 [印刷] 及び[プリンタの設定] ダイアログ ボックスでユーザーが選択をしたプリンター名をコードで得る方法がよく解りません。 ShowPrinterメソッド発行前に設定出来る「Flags」の定数に、 cdlPDReturnDefault &H400 通常使うプリンタ名を取得します。 とヘルプには有りますが、どのような手段でこれを使って選択したプリンタ名を取り出せば良いのかよく解りません。 又、定数「cdlPDReturnDC」「cdlPDReturnIC」には、「プリンタの情報コンテキストは、ダイアログ ボックスの hDC プロパティに格納されます。」と言うような説明が有るので、その中でプリンタ名が書かれているのかなと思ったりもしますが、どの様に利用すれば良いのかも判りません。 何分VBの使用経験が少な過ぎるのであまりよく解っていないので噛み砕いて教えて頂ければ幸いです。 よろしくお願いします。