みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Accessで「ファイルを開く」ダイアログを表示させて画像のフルパスを入力したい。

こちらの過去のQ/Aを参考にして作成してみましたが、表題の方法が
よくわかりません。

わたしが行ったのは・・・、
・表示したいファイル名のフルパスを持つフィールドをテーブルに持つ。
 (テキスト属性)
・フォームにそのフィールドを可視で配置する。
・フォームにイメージコントロールを配置する。
・Form_Loadイベントで、そのフィールドがnullでなければ、イメージ
 コントロールのPictureプロパティに、そのフィールドのValueを
 セットする。

この方法だと、あらかじめテーブルのフィールドに画像ファイルの
フルパスをセットする必要がありますが、それを「ファイルを開く」
ダイアログボックスで選択し、自動で入力できるようにしたいのです。

何かいい方法はあるでしょうか。

投稿日時 - 2005-09-18 19:41:34

QNo.1657511

暇なときに回答ください

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

ACCESSでは「ファイルを開く」ダイアログを利用できません。
そこで、EXCELオブジェクトを宣言して「ファイルを開く」ダイアログを利用します。

注意点1
ダイアログが表示されない?という場合はAlt+Tabで切り替えが必要
注意点2
ファイル名はフルパス+ファイル名なので適宜分解してください。



Dim objXLS As Object
Dim varFileName As Variant

Set objXLS = CreateObject("Excel.Application")

' Excelの [名前を付けて保存] ダイアログを開き、保存ファイル名を取得
varFileName = objXLS.GetOpenFilename("EXCELファイル (*.xls),*.xls")

If varFileName = False Then
  MsgBox "取り消しが押された"
Else
  'varFileNameにはフルパスとファイル名が格納されている
  MsgBox varFileName
End If

'無効化しないとえらいことになる
Set objXLS = Nothing

投稿日時 - 2005-09-18 20:54:47

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

#1です。一部追加・訂正します。

-追加------------------------------
注意点3
当然ながらACCESS VBAの参照設定でEXCELの指定が必要


-訂正(誤)------------------------------
' Excelの [名前を付けて保存] ダイアログを開き、保存ファイル名を取得
-訂正(以下に訂正)-----------------------
' Excelの [ファイルを開く] ダイアログを開き、対象ファイル名を取得

投稿日時 - 2005-09-18 21:19:49

お礼

迅速・丁寧な対応、ありがとうございました。
さっそくやってみたところ、うまくいきました。
やはりACCESSでは無理だったのですね。
わたしになど、EXCELオブジェクトを利用するなど、
考えも及ばなかったです。(^^;)
本当に、ありがとうございました。

投稿日時 - 2005-09-18 22:59:06

あなたにオススメの質問