以前、Win95、NT開発環境でAPI関数のGetOpenFileNameを使用し、
ファイルを選択するダイアログを表示するようなプログラムをVBAで作りました。
Win95、NTでは正常に動作するのですが、
Win2000ワークステーションではダイアログが表示されません。エラーもでません。2000では構造体が3つ追加されていることはわかったのですが、
実際プログラミングしてみたところ正常に作動しません。
いろいろ調べたのですがよく分からないので、サンプルのプログラム等を教えていただきたいのですが・・・。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

ちゃんと、OPENFILENAME構造体を初期化してますか?


それから、構造体サイズもちゃんとセットしてます?
こちらの環境では特に問題が出たことはないですが・・・

この回答への補足

回答ありがとうございます。
pvReserved,dwReserved,FlagsEx は Long型で定義し、0を代入しています。
lStructSize には関数で構造体の長さ(88)を入れています。
CommdlgExtendedError関数の返り値は11でした。
フックの指定か何かがおかしいのでしょうか?
APIはあまりよく理解できていない状態なので詳しく質問内容を説明できなくて
すみません。

補足日時:2001/03/28 09:22
    • good
    • 0

基本的にNTと同じ関数名のはずですが・・・


#もっともVBAはあまり知らないので、何とも
#言えませんが。

仮に引数を3つ追加したものをWindows 2000で
動作させるとどうなりますか?
ではでは☆

この回答への補足

回答ありがとうございます。
pvReserved,dwReserved,FlagsEx は Long型で定義し、0を代入しています。
lStructSize には関数で構造体の長さ(88)を入れています。
CommdlgExtendedError関数の返り値は11でした。
フックの指定か何かがおかしいのでしょうか?
APIはあまりよく理解できていない状態なので詳しく質問内容を説明できなくて
すみません。

補足日時:2001/03/28 09:36
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報