1

現在、データに関連付けられた画像のパスを保存し、VBA を使用して画像フレームに表示するようにデータベースをセットアップしています。うまく機能しますが、画像を追加するプロセスは少し面倒であり、ユーザーはそれを正しく使用するのに苦労しています (間違ったパスを入力する、拡張子を含めるのを忘れるなど)。これにより、データベース内に大量の不要なエントリが作成されます。このプロセスを簡素化したいと思います。理想的には、「画像を追加」をクリックすると、Windows エクスプローラーが開き、ユーザーに目的の画像を選択してもらい、その画像のパスを取得して、テーブルに挿入したいと考えています。繰り返しますが、私は OLE を使用しておらず、パス用のテキスト フィールドのみを使用しています。これは可能ですか?

4

1 に答える 1

2

Remou が参照したように、FileDialog オブジェクトを使用してこれを実現できます。多くの人にとって、MS Office オブジェクト ライブラリへの参照を追加する必要があるかもしれません (Access ライブラリでは不十分です)。エクスプローラーで選択したファイルからパス名を収集するために使用したコードは次のとおりです。

 Public Sub ShowFileDialog()
 Dim dlgOpen As FileDialog
 Set dlgOpen = Application.FileDialog(msoFileDialogOpen)
 With dlgOpen
 .AllowMultiSelect = False
 .InitialFileName = "Z:\" 'Initial Path when explorer is opened
 .Show
     If .SelectedItems.Count = 0 Then
       MsgBox ("No file Selected") 'No file selected
     Else
        Me.txtPath = .SelectedItems(1) 'sets textbox on the form to the path selected
     End If
  End With


 End Sub
于 2012-07-09T17:21:39.313 に答える