• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル2003VBAにて、ファイルを開くダイアログのハンドルを取得し)

エクセル2003 VBAでファイルを開くダイアログのハンドルを取得する方法を教えてください

このQ&Aのポイント
  • エクセル2003 VBAでファイルを開くダイアログのハンドルを取得する方法を教えてください。
  • ファイルを開くダイアログの入力欄にファイルパスを入れる方法が知りたいです。
  • ファイルを開くダイアログのウィンドウハンドルを取得する方法を教えてください。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

一応、自分の力量に合わせた質問をしたほうがよいです。ご質問者さん自身が常連ですから、お互いに経験的に蓄積していくものです。やっぱり、こちらの、#6249936のアドバイスにしても、そんなにバカな回答をしているつもりはありません。ここカテゴリの回答のレベルが凋落しているのは間違いありませんが、それでも、ある程度回答のベルは信頼してよいと思います。インターネット検索で拾ってくるようなテクニックだけ求められても回答はしにくいのです。 >hDlg = FindWindowA("#32770", "Open") それに、このダイアログのその番号は、CommonDialog だったような気がしますが、Excel なら違います。Excelのオープンダイアログのクラスは、"bosa_sdm_XL9" のはずです。 しかし、その後は取れません。なぜ、そんなテクを求めるのか、知らないからだとは思いますが、もしそうでないとしたら、#1のimogasiさんのおっしゃるように、「範囲外の事項」だと思います。 >ファイルを開くダイアログの入力欄に、 >ファイルパスを入れようと思っているのですが 私なら、こういうようにしますね。 Application.Dialogs(xlDialogOpen).Show "C:\" ChDir を使う場合もあります。

ddtqp
質問者

お礼

回答ありがとうございます。 Excelのダイアログの勉強になりました。 私の質問が言葉足らずで申し訳ないです。 とあるメーカーのソフトのファイルを開くダイアログのEdit欄に、 自動でファイル名を入力しようと思い質問をしました。 いろいろとためしたのですが、 Sendkeyはたまにナムロックがかかり不具合を起こすので、 ウィンドウハンドルを取得し、postmessageでファイル名を入れようと思いました。 Do  ・・・  Sleep 1000 Loop Until hDlg <> 0 を入れてみたところウィンドウハンドルが取得できました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

VBAではウインドウハンドルを取得して、何かをすると言うのは、範囲外の事項です。 そういうものはここに質問するのでなく、自分でWEB照会するなり、本を読むなりして自分で、勉強すべき事項と思う。 まず、何をしたいのか、ウインドウハンドルの問題にしないと処理できないのか質問してみたら。

ddtqp
質問者

お礼

>ウインドウハンドルの問題にしないと処理できないのか質問してみたら。 そうですね。質問してみます。 回答ありがとうございます。

関連するQ&A

専門家に質問してみよう