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

このQ&Aのポイント
  • Accessでファイルを開くダイアログを表示させ、画像のフルパスを自動で入力する方法を教えてください。
  • Accessのフォームにイメージコントロールを配置し、ファイルを開くダイアログボックスで選択した画像のフルパスを自動で入力する方法を教えてください。
  • Accessのフォームに画像のフルパスを入力するためのファイルを開くダイアログを表示する方法を教えてください。
回答を見る
  • ベストアンサー

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

こちらの過去のQ/Aを参考にして作成してみましたが、表題の方法が よくわかりません。 わたしが行ったのは・・・、 ・表示したいファイル名のフルパスを持つフィールドをテーブルに持つ。  (テキスト属性) ・フォームにそのフィールドを可視で配置する。 ・フォームにイメージコントロールを配置する。 ・Form_Loadイベントで、そのフィールドがnullでなければ、イメージ  コントロールのPictureプロパティに、そのフィールドのValueを  セットする。 この方法だと、あらかじめテーブルのフィールドに画像ファイルの フルパスをセットする必要がありますが、それを「ファイルを開く」 ダイアログボックスで選択し、自動で入力できるようにしたいのです。 何かいい方法はあるでしょうか。

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

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

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

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

#1です。一部追加・訂正します。 -追加------------------------------ 注意点3 当然ながらACCESS VBAの参照設定でEXCELの指定が必要 -訂正(誤)------------------------------ ' Excelの [名前を付けて保存] ダイアログを開き、保存ファイル名を取得 -訂正(以下に訂正)----------------------- ' Excelの [ファイルを開く] ダイアログを開き、対象ファイル名を取得

nozomi300k
質問者

お礼

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

関連するQ&A

  • Access2000:[パラメータの入力]ダイアログを表示されないようにするには

    初心者です。よろしくお願いします。 フォームが完成したあとで、クエリ/テーブルから削除したいフィールドが発生してしまいました。 削除したいフィールドのコントロールをフォームから消した後に、クエリ/テーブルからフィールドを削除しました。 削除したあとにフォームを開いたところ、[パラメータの入力]ダイアログボックスが表示されてしまいました。(メッセージは"開こうとしているフォーム名" クエリ:"削除したフィールド名"です) このダイアログボックスが表示されないようにしたいのですが、どうすればよいでしょうか。 ちなみに削除したフィールドは単なるテキスト型で、選択クエリでも抽出条件等は設定していませんでした。 初歩的な質問ですみませんが、よろしくお願いします。

  • アクセス2000のレポートでイメージを表示させたいのですが

    アクセス2000でデータベースを作成しています。レポートについて分からないことがあるので教えてください。 ・ImageFileというフィールドにイメージファイルのフルパスを入力しておき、フォーム上のPictureを配置し、下記のようなコードを記述して、Pictureに、イメージファイルを読み込んで表示させています。 Private Sub Form_Current() If IsNull(Me.ImageFile) Then   Me.イメージ.Picture = "d:\nonimage.jpg" Else: Me.イメージ.Picture = Me![ImageFile] End If End Sub ・同じような方法でレポートでイメージを印刷させることは出来ないでしょうか?  尚、ImageFileはレコード毎に異なるものを使用しています。

  • Access テーブルの添付ファイル型への登録

    お世話になります。 Access2010 Accessにて社員情報を登録するツールを作成しているのですが、 テーブルの添付ファイル型への登録方法をご教示願います。 社員情報を新規登録するためのフォーム「社員情報登録」があり、 そこで社員の画像を選択させ、最終的にテーブルの添付ファイル「画像」 に登録したいところです。 現状、ファイル選択ダイアログから画像ファイルを選択させ、その画像ファイルの パスを取得するところまでは出来てます。 なお、フォーム上にはイメージコントロール「画像」を設置し、  Me.![画像].Picture=画像ファイルのパス で表示させてます。 フォーム上の登録ボタンが押されたときに、単純にAddNewして テーブル![画像]=画像ファイルのパスだとエラーになって しまうと思うのですが・・テーブルの添付ファイル型フィールド「画像」に ファイルを登録する方法をお教え下さい。 **************** 別の質問になるのですが、添付ファイルコントロールは、テーブルの 添付ファイルを表示させる為のものという認識です。 なので、新規登録する画面ではまだレコードが存在しない状態なので 添付ファイルコントロールは使えないと思うのですが、その認識で 間違いないでしょうか。 なので、新規登録画面では使えないけど、修正画面では使えると思ってます。 (既にレコードが存在するので、画像が登録されていたら表示できる) 以上、宜しくお願い致します。

  • アクセス 画像を更新したい

    フォーム1にイメージコントロールを置き ピクチャタイプをリンクにして、 ピクチャのパスを C:\Users\Desktop\無題.jpg のように指定してますが フォームが開いている最中に無題.jpgの中身が変わったら、 フォーム(イメージ)に表示する画像も更新させるvbaコードはありますか? 画像が更新→フォーム閉じてを開き直す と更新されますが、 Form_フォーム1.イメージ2.Requery としても何も起こらないし、エラーにもならないです。

  • ファイル選択ダイアログからファイルのフルパスを取得したい

    Visual Basic 2008について質問があります。 フォームにテキストボックスを配置し、そのテキストボックスに ファイル選択ダイアログで選択したファイルのパスを表示させたいのですが どのようにパスを取得し表示させるのでしょうか? 初歩的な質問で申し訳ありませんがどうぞよろしくお願いします。

  • コントロールの挿入と同時に画像を表示する方法

    アクティブエックスコントロールのイメージコントロールの設置と同時に、 画像をそのコントロールに表示するvbaを作ってるのですが、 実行時エラー438が発生します。 Sub test() Dim objOLE As OLEObject Set objOLE = ActiveSheet.OLEObjects.Add("Forms.Image.1") With objOLE .Name = "Image" .Picture = LoadPicture("C:\1.gif") End With End Sub C:\1.gifのパスをブラウザで表示させることはできるので、ファイルは存在しているし、 パスは間違っていません。 .Picture = LoadPicture("C:\1.gif") をコメントアウトすれば正常にコントロールが挿入されます。 コントロールの挿入と同時に画像を表示する方法を教えてください。 ご回答よろしくお願いします。

  • ACCESSで定型入力の〒が表示されない

    こんにちは。現在ACCESS97を使用してツールを作成しているのですが、テーブルの郵便番号フィールド及びフォームのフィールドに定型入力で「¥〒000¥-9999;」「¥〒000¥-9999;0;_」とそれぞれ設定しています。フォームは新規入力・変更用で使用しています。この郵便番号をラベルに印刷するためにコントロールソースに「Trim([郵便番号])」と指定しているのですが、数字のみ表示され〒や-は表示されません。〒や-を表示させるにはどうしたらよいのでしょうか。宜しくお願いします。

  • 画像ファイル

    WIndows2000 Access2000 フロッピーディスク内の画像ファイルをデータベースに格納したいのですがどのようにしたらいいでしょうか。 画像ファイルがハードディスクにある場合に データベースへの格納方法はわかっている状態です。 画像ファイルのテーブルの名前にパスを書いて、フォームでレコードが移動した際に パスから読み込むというヤツです。 Me.imgJpg.Picture = Me.画像名 というVBAを作成しています。 フロッピーディスク内の画像ファイルをいったんハードディスク内に保存したいのですが、どのように移動させたらいいのでしょうか。 ご指導お願い致します。

  • ファイルダイアログでファイルをダブルクリックするとコントロールの位置が変わる

    WindowsXP、VB.NET2005で開発しています。 フォームにコントロールを配置し、 コントロール(ラベル・ピクチャーボックス)を動的に作成して マウスのドラッグにて移動できるようにしております。 問題となっているのは ContextMenu から実行する処理で ファイルダイアログを起動しているのですが、 そのファイルダイアログのファイルをダブルクリックして選択すると もとのコントロールの位置が変わってしまいます。 ファイルダイアログで行っている処理は選んだファイル名の格納だけなので、移動するのがなぜかわかりません。 OKボタンクリックでは移動しません。 画面上にラベルピクチャーボックスがある状態で 上記操作をすると、ピクチャーボックスが移動してしまいます。 移動しなくなるときもあるのですが、 法則がつかめておりません。 原因としてどういったことが考えられるでしょうか?

  • Access2000のフォームに画像を表示する(XP)

    ExelのVBAではある程度のプログラムが組めますが、Accessは2週間前から始めた初心者です。 画像の絶対パスを記録したテーブルを作成し、Accessフォームのイメージウィンドウに画像を表示するところまではできました。 そこで質問なのですが、 1.「C:\sample\test」というフォルダ内に30個ほどの画像があるとして、このフォルダの絶対パスのテーブルからその中にある画像を表示することはできるのでしょうか?というのは、そのフォルダは全部で3万個もあり、つまり画像は全部で90万個もあるのです。 2.クエリで抽出した画像の絶対パスを利用して、その画像をフォームのイメージウィンドウに表示する方法がわかりません。 よろしくお願いします。

専門家に質問してみよう