- ベストアンサー
エクセル2003 VBAでファイルを開くダイアログのハンドルを取得する方法を教えてください
- エクセル2003 VBAでファイルを開くダイアログのハンドルを取得する方法を教えてください。
- ファイルを開くダイアログの入力欄にファイルパスを入れる方法が知りたいです。
- ファイルを開くダイアログのウィンドウハンドルを取得する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
一応、自分の力量に合わせた質問をしたほうがよいです。ご質問者さん自身が常連ですから、お互いに経験的に蓄積していくものです。やっぱり、こちらの、#6249936のアドバイスにしても、そんなにバカな回答をしているつもりはありません。ここカテゴリの回答のレベルが凋落しているのは間違いありませんが、それでも、ある程度回答のベルは信頼してよいと思います。インターネット検索で拾ってくるようなテクニックだけ求められても回答はしにくいのです。 >hDlg = FindWindowA("#32770", "Open") それに、このダイアログのその番号は、CommonDialog だったような気がしますが、Excel なら違います。Excelのオープンダイアログのクラスは、"bosa_sdm_XL9" のはずです。 しかし、その後は取れません。なぜ、そんなテクを求めるのか、知らないからだとは思いますが、もしそうでないとしたら、#1のimogasiさんのおっしゃるように、「範囲外の事項」だと思います。 >ファイルを開くダイアログの入力欄に、 >ファイルパスを入れようと思っているのですが 私なら、こういうようにしますね。 Application.Dialogs(xlDialogOpen).Show "C:\" ChDir を使う場合もあります。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
VBAではウインドウハンドルを取得して、何かをすると言うのは、範囲外の事項です。 そういうものはここに質問するのでなく、自分でWEB照会するなり、本を読むなりして自分で、勉強すべき事項と思う。 まず、何をしたいのか、ウインドウハンドルの問題にしないと処理できないのか質問してみたら。
お礼
>ウインドウハンドルの問題にしないと処理できないのか質問してみたら。 そうですね。質問してみます。 回答ありがとうございます。
お礼
回答ありがとうございます。 Excelのダイアログの勉強になりました。 私の質問が言葉足らずで申し訳ないです。 とあるメーカーのソフトのファイルを開くダイアログのEdit欄に、 自動でファイル名を入力しようと思い質問をしました。 いろいろとためしたのですが、 Sendkeyはたまにナムロックがかかり不具合を起こすので、 ウィンドウハンドルを取得し、postmessageでファイル名を入れようと思いました。 Do ・・・ Sleep 1000 Loop Until hDlg <> 0 を入れてみたところウィンドウハンドルが取得できました。