- ベストアンサー
ACCESS VBA 写真のパスを取得
ACCESS2010で写真のパスをテキストに取得して、データとして保存します。 それと、写真を表示のボタンをつけて、その写真をフォームのテキストに 表示したいと思っています。 ACCESS VBAのサンプル等ありませんか? 宜しくお願いします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
回答したけどリンク先が表示禁止先なのか回答が出てこないのでそのサイトのコードを多少変えて記載します。 Me.テキスト.Valueを表示したいテキストボックス名に変更してください。 Private Sub コマンド_Click() '参照設定 [ツール] メニューの [参照設定] をクリックします。 '[Microsoft Office 14.0 Object Library] チェック ボックスをオンにします。 On Error Resume Next '変数定義 Dim intRet As Integer 'ダイアログ用変数 Dim GetFileName As String 'フルパスの値 With Application.FileDialog(msoFileDialogOpen) 'ダイアログのタイトルを設定 .Title = "ファイルを開くダイアログ" 'ファイルの種類を設定 .Filters.Clear .Filters.Add "JPGファイル", "*.jpg"'すべてのファイルの場合ここはいらない .FilterIndex = 1 '複数ファイル選択を許可しない .AllowMultiSelect = False '初期パスを設定 .InitialFileName = CurrentProject.Path 'ダイアログを表示 intRet = .Show If intRet <> 0 Then 'ファイルが選択されたとき 'そのフルパスを返り値に設定 GetFileName = Trim(.SelectedItems.Item(1)) Else 'ファイルが選択されなければブランク GetFileName = "" End If End With '選択されたフルパスをテキストボックスへ表示 Me.テキスト.Value = GetFileName End Sub
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
質問の意図がよくわからないが、補足しては? 小生は全く誤解しているかもしれないが、その際は後免。 >写真のパスをテキストに取得して 挿入者やVBAでやっている場合は挿入操作者か、VBAのコード作成者しか画像ファイルのパス名やファイル名は判らないと思います。 >テキストに取得して、データとして保存します。 は判っている人がコードを組むのですか? >写真を表示のボタンをつけて、その写真をフォームのテキストに 表示したいと思っています。 テキストに保存とはどういうこと? パスとファイル名のテキスト(文字列)をテキストボックスに表示するということ? 写真は画像ファイルで、テキストではなかろう。 == エクセルのシートやワードの文書、アクセスのフォームなどには、実行中に画像は見えて居ても、WEBのHTML文のように画像ファイル名は(テキストでは)埋め込まれていないのでは、と思った次第。 === フォームに写真を表示したいということなら、こういう機能のある、「イメージ」などのコントロールをつかえばよいので、AccessVBAをやるほどの人が質問するのが、不思議。 === エクセルでやってみた。 ユーザーフォームにテキストボックス2つ コマンドボタン2つ イメージ2つ 設けて、(それぞれが対応していて、簡単のために、2ペア分に抑えているものです。) Private Sub CommandButton1_Click() f1 = UserForm1.TextBox1.Text MsgBox f1 UserForm1.Image1.Picture = LoadPicture(f1) End Sub Private Sub CommandButton2_Click() f2 = UserForm1.TextBox2.Text MsgBox f2 UserForm1.Image2.Picture = LoadPicture(f2) End Sub ーーー Private Sub UserForm_Initialize() UserForm1.TextBox1.Text = "C:\Users\XX\Pictures\PC040YYY.JPG" UserForm1.TextBox2.Text = "C:\Users\XX\Pictures\PC040ZZZ.JPG" End Sub (”C:\Users\XX\Pictures\PC040YYY.JPG"のところは、質問者が使える写真の ファイル名をフルパスで置き換えてください。) こんなイメージ=パターン=型 でよいのかな。 == でも CommandButton1_Click() CommandButton2_Click() と写真の表示窓の個数だけ似たコードを連ねるのは、カッコ悪い。 これの打開策こそ質問したいことではないのか? ーー それは難しい課題なので、説明はWEB照会(VBA ユーザーフォーム コントロール配列などで)して出てくる記事を勉強することになるだろう。
- kkkkkm
- ベストアンサー率66% (1734/2604)
参考にしてください。 イメージコントロールによるイメージビュアーの作り方 https://tsware.jp/tips/tips_487.htm
補足
kkkkkmさん ありがとうございます。 写真をテキストに表示はわかりました。 可能であれば、Access2010からエクスプローラ―を開いて、写真の場所を特定して パスをテキストにセットするやり方をご教授をお願いします、 宜しくお願い致します
お礼
大変ありがとうございます。 教えて頂いた内容を組み込んでテストしてみます