• ベストアンサー

ACCESS VBA 写真のパスを取得

kkkkkmの回答

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1620/2459)
回答No.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

yuyu4247
質問者

お礼

大変ありがとうございます。 教えて頂いた内容を組み込んでテストしてみます

関連するQ&A

  • Access VBA

    AccessとWordの連携について教えてください。 フォーム[会社データ]上に「cmd実行」ボタンを配置しています。 行いたいのは次の作業です。 上記「cmd実行」ボタンのクリックによりWordを起動(新規文書)し,フォームに表示しているレコードから[会社名]テキストボックスのデータを2行目のセンターに,[担当者]テキストボックスのデータを4行目の左端にそれぞれ出力する。 AccessのVBAで[ツール][参照設定]で[Microsoft Word Object Library]を選択済みです。 どなたかご教授いただければと思います。何とぞよろしくお願いいたします。 なお,AccessのVBAで[ツール][参照設定]で[Microsoft Word Object Library]を選択済みです。

  • アクセスのVBAなんですけど

    アクセスのVBAでフォームからフォームへ値を渡すことはできますか?具体的にいうとあるフォームでコンボボックスから選択し、OKボタンで次のフォームを開くのですが、初めのコンボボックス(ちなみに5つ選択項目があります)で選んだ条件でフォームの表示内容を変更させようと思っています。 今のところ、選択した項目を一時的にテーブルに保存して、新しいフォームが開くときにテーブルから値を取得してやるのか・・・・と考えているのですが、まどろっこしいので・・・・・よろしくお願いします。

  • パスの取得

    現在開発しているものをおおまかに説明すると, formには,ButtonとMemo1,Memo2があり,Memo1に 文字列を入力しボタンを押すとMemo2に結果が 表示されます。 ボタンを押した時の処理の内容についてですが, Memo1に入力したものをテキストファイルに渡し, ボタンを押して標準入出力のリダイレクトを行います。 そして,結果の入った別のテキストファイルからMemo2へ 表示します。 そこでMemo2に表示された結果をテキストファイルとして MainMenuで保存するようにしたのですが,保存した後, 続けてボタンを押して処理を行おうとすると, パスが保存した場所になり,正しく実行できません。 うまくいかない現象を具体的に… 保存した後に,もう一度処理を行おうとしたとき, Memo1に入力したものが入るテキストファイルが 保存したところのフォルダに作られます。そして, ボタンを押すと,結果が入っているテキストファイルが 開けませんというエラーが出ます。 標準入出力のリダイレクトを行う際,作られる テキストファイルは作成しているアプリケーション と同じフォルダにできるようにしたいので, AnsiString Path = ExtractFilePath( Application->ExeName) + "test.txt"; ↑これで,パスを取得しているのですがうまくいきません。 どうすればよいでしょうか? 分かる方がいましたら,教えて頂けませんか? こんな下手な説明ですみませんが 参考になるサイトでもなんでも結構なので, よろしくお願いしますm(__)m

  • AccessのVBAにおいて,アクセスフォームに表示されている「値」を

    AccessのVBAにおいて,アクセスフォームに表示されている「値」を変数の中に格納したい。  例えば,オートフォームの単票形式でフォームを作成した場合,「番号」「製品」といったフィールドが2個あるテーブルを使うと,「番号」「製品」という名前のテキストボックスが2個ほどできます。 (フィールド名やテキストボックス名は問題ではありません。) このフォーム上に「ボタン」を配置し,このボタンをクリックした時に,「製品」というテキストボックスの内容を,メッセージボックスで表示させたい。 MsgBox (Me.製品.Text) と書いてもエラーとなります。 実際には,このフォームで欲しいデータを見つけた時,ボタンクリックで,テキストボックスに表示されている内容をグローバル変数に格納したいのですが,方法が分かりません。 Access 初心者です。どなたかよろしくお願いします。

  • Access VBA 他アプリケーション

    Accessのフォームから他アプリケーションを起動するボタンをつくります。 起動したアプリケーションの入力フォームへ、Accessのフォームのテキストボックスの内容を書き込む事はできないでしょうか? 例えば、Accessのフォームに『OKWave』と入力されたテキストボックスと、ブラウザが開くボタンが配置されているとします。ボタンをクリックするとブラウザが起動し、起動したら任意の検索サイトが表示され、そのサイトのフォームに、Accessのフォームのテキストボックスにかかれている、『OKWave』が自動的に入力するようなVBAを書きたいと思います。 よろしくお願いします。

  • フォルダ名だけを取得するVBA

    VBAを使ったエクセルテンプレート適用ツールを作成しているのですが そのVBAのことで教えてください。 現在自作のフォーム上にあるテキストボックスにフルパスが入っているとします(添付図参照)。 *この前提は必須と考えてください。 次に作成ボタンをクリックすると Step1 新しいブックが開かれ行幅や書式などが自動で調整されます。 Step2 ブックの保存ダイアログが自動で開きます。     ただし、保存ダイアログが開いた時点で自作フォーム中の     テキストボックスで指定したフルパスに移動しており、     且つ移動先のフォルダ名(<-注意!!フルパス名ではありません!!)と     同じ文字列をファイル名入力欄に自動で入力されるようにします。    ex) D:\MyProject\Project01\TaskA\にブックを作成し保存する場合、      保存ダイアログのファイル名欄にTaskAとだけ書く。 マクロ自体はここでストップし、これ以降はユーザーがそのファイルメモで 保存してよいかどうかを判断し、問題なければ手動でダイアログ上の「保存」ボタンを押します。 問題はStep2で、保存先のフォルダ名と同じ文字列を保存ダイアログのファイル名に記入するには どのようなコードを書いたらよいでしょうか。 私自身としては下記の二案を考えているのですがそれぞれについて疑問があるので教えてください。 案1 作成ボタンを押した時点でテキストボックスに書かれているフルパスの文字列から   末尾にあるフォルダ名だけを取得して変数に代入し、これを保存ダイアログの   ファイル名欄に反映させる。   疑問:テキストボックスのValue値に書かれているフルパスを示す文字列から      末尾のフォルダ名だけを取得するためのコードは何と書けばよいのでしょうか? 案2 ブックの保存ダイアログが開いて保存先のパスに移動してから今保存ダイアログで    開いているフォルダ名を取得する。    疑問:今アクティブになっているブックが保存されているフォルダ名だけを取得する    方法なら確かあったような気がしています。    しかし今保存ダイアログで表示されているフォルダ名を取得するコードは何と    書けばよいのでしょうか?    そもそもそういったコードや操作自体VBAにあるのでしょうか?

  • 【VBAでapp.path が取得できない】

    VBAでapp.path を取得しようとすると、「オブジェクトが必要です」エラーが表示されます。 アプリケーション実行パスを取得する方法はありますか? Excel2000を使用しています。 宜しくお願いいたします。

  • access2003でVBAを使ってEXCELファイルをコピーしたい。

    access、VBA初心者です。 会社でaccess2003を使ってexcelファイルを管理しようと思っています。 自動保存を防止するために非連結フォームで「保存ボタン」を押すことによってテーブルへデータを保存するようにしています。(ここまではできました) テーブルに保存するデータの1つにexcelファイルへのパス(ハイパーリンク)を保存したいのですが、 1.ファイルを参照するダイアログボックスを使って任意のecxelファイルを参照し 2.そのexcelファイルのコピーを作成し 3.オートナンバーのように名前を変更して 4.一定の保存場所へ保存。(保存場所は固定) 5.保存先のパスをテーブルに保存。 という作業を行いたいのですが、 どういった形で作成すればよいのかわかりません。 フォーム上に何を配置し、VBAをどういう構文で書けばいいのかもわかりません。 要は、後々に、誰がいつ作ったエクセルファイルなのかを引き出せるものができればいいので、もっといい方法があれば教えていただきたいです。よろしくお願いします。

  • エクセルのフルパスをvbaで取得

    当方エクセル2003で、 エクセルのフルパスは C:\Program Files\Microsoft Office\OFFICE11\ EXCEL.EXE です。 それをVBAで取得するにはどうすればいいですか? Sub サンプル() Debug.Print 'オフィスがインストールされているフォルダのパスの取得 End Sub のようにして、 C:\Program Files\Microsoft Office\OFFICE11\ EXCEL.EXE を返したいです。 VBAコードをご教示ください。

  • AccessのVBAの記述について

    たびたびお世話になります AccessのVBAで、フォーム上にあるテキストボックス(CadrDate)のデータを同一フォーム内の別のテキストボックスに貼り付ける操作はできるのでしょうか? 出来るのであれば記述文を教えてください。