こんにちは。
Access2000で作成しているプログラムのなかで、リストの作成先を指定するために、SHBrowseforfolderというAPIを使用しています。試行錯誤の末、フォルダを選択するところまではできたのですが、細かい設定が分からないのです。
ネットワークドライブの選択はできないようにする、とかファイルも選択できるようにする、とかモジュールに書いているのに、全然できていません。
あと、フロッピードライブやMO、CD-ROMなどの指定はできないようにしたいのですが、それは不可能なんでしょうか。自分でも指定されたパスが正しいか、チェックをかけているのですが、フロッピードライブやMO、CD-ROMなどを指定すると、エラー番号「52」で帰ってきて、そのあとに、自分が出しているメッセージ(「パスが間違っています」)が出てしまうのです。
エラー番号を拾えばいいのかもしれませんが、それ以外にエラーが出てしまうと困るので、それならいっそのこと、最初から指定できないようにしたいのです。
どなたかよい方法をご存知の方、回答よろしくお願いします。
No.3ベストアンサー
- 回答日時:
参考URLのページ、下のほうまで読みました?
IEのバージョンによって、参照設定ができないことがあると書いてありますよね。
そこに書いてあるとおり、参照設定はせずに使ってください。
あと、下のソースはその環境で使えるかどうかチェックするVBScriptです。
”ここから”から”ここまで”をコピーして、メモ帳などでファイルに保存し、拡張子をvbsにしてからダブルクリックで実行してみてください。
これでダイアログが表示されればAccessでも使えるはずです。
'-------------ここから
Dim objShell
Dim objFolder
' オブジェクトの生成
Set objShell = CreateObject("Shell.Application")
' フォルダ選択ダイアログを表示
Set objFolder = objShell.BrowseForFolder(0, "フォルダを選択してください。", 0)
Set objShell = Nothing
'-------------ここまで
当方IE6.0、Access2002ですが、問題なく表示できました。(VBScriptでもAccessVBA共)
こんにちは。
taka_tetsuさん、お手数おかけしてすみません。参考URL、ちゃんと最後まで読んでませんでした。わざわざチェックのためのスクリプトまで教えていただいて、ほんとありがとうございます。おっしゃる通りコピーして実行したらちゃんとできました!早速自分が作ったプログラムも修正したら、ちゃんと動作しました。
回答どうもありがとうございました。
No.2
- 回答日時:
実はAPI使わなくても出せたりするんですよ、そのコモンダイアログ。
詳しくは、参考URLを見てください。
あと、APIでがんばるのであれば、
http://www.vbvbvb.com/jp/gtips/0951/gSHBrowseFor …
http://www.koalanet.ne.jp/~akiya/vbtaste/vbp/#sh …
も参考に。
で、uiFlagsに設定する値の詳細な情報なんですが、MSDNを見るのが一番です。
ただし、WebのMSDNは、数個しか書いていないのでダメですね。
このフラグでできること以上の制限をかけたいのであれば、コールバック関数を使わないといけなくなります。
#ちなみにファイルの選択はできないですよ、これ。
参考URL:http://www.galliver.co.jp/writing/susume_vb/tre9 …
こんにちは。
早速教えていただいたサイトを見て、真似して書いてみたのですが、しょっぱなからエラーになってしまうのです。サイトの内容なのでここで質問するわけには行きませんが…。私はAccessを使用していますが、サンプルはVB(ですよね?)だからできないのでしょうか。
もし使えれば、非常に簡潔で分かりやすくていいわ!と思ったのですが残念です。
もう少しいろいろ調べてみます。
回答どうもありがとうございました。
No.1
- 回答日時:
このAPIをVBで使ったことはないんですが、Delphiで使おうと思って、
いろいろ調べていました。
VBで使う方法は下記URL「へろぱのページ」に詳しく載っているようです。
私自身試したわけではありませんが、信頼できるサイトですので、
一度ご覧になって試してみてください。
参考URL:http://plaza5.mbn.or.jp/~heropa/vb04.htm
こんにちは。
実はこのサイト、もう参考にさせてもらったんです(笑)。でもイマイチ理解できなくて…改めてちゃんとみてみます。
回答どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カレントフォルダって?
-
Dreamweaverでイメージを挿入す...
-
会社のネットワーク上のファイ...
-
Windows10でコマンドプロンプト...
-
VBA フォルダ名に特定の文字を...
-
Excelで指定したフォルダに保存...
-
エクセルのデータをメモ帳に貼...
-
C ファイル出力で、フォルダが...
-
excelマクロ 冒頭3文字が一致す...
-
Excelのハイパーリンクについて...
-
致命的なエラー C1043について
-
DLLの暗黙リンクの調べ方
-
GetAttrが原因?
-
pythonでDepixを起動
-
レジストリの文字列から
-
条件に合うフォルダが存在する...
-
VBScriptでのフォルダ指定ダイ...
-
保存先のフォルダ名を指定した...
-
フォルダ内のファイルの作成日...
-
バッチファイルにて連番付きフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
VBA 最新のフォルダ取得
-
ファイル名と同名のフォルダを...
-
デスクトップの画像をhtmlに表...
-
Excelのハイパーリンクについて...
-
VBプロジェクトでのフォルダ構...
-
会社のネットワーク上のファイ...
-
【マクロ】ファイル名の日付に...
-
パス名に2バイト文字(マルチバ...
-
Access VBA で フォルダ権限...
-
カレントフォルダって?
-
VBA フォルダ名に特定の文字を...
-
ExcelVBAでフォルダへのハイパ...
-
C ファイル出力で、フォルダが...
-
excelマクロ 冒頭3文字が一致す...
-
保存先のフォルダ名を指定した...
-
マクロVBAのフォルダ階層別で検...
-
Excelで指定したフォルダに保存...
-
ディレクトリ名変更してコピー...
-
vbsで選択ダイアログを表示した...
おすすめ情報