どのように私は(MS Access 2007のための)VBAでファイルダイアログオブジェクトのうち、単一のファイル名を取得するのですか?
-
23-09-2019 - |
質問
私は、ファイル名の代わりに、ディレクトリ名を取得するための私のコードを変更するにはどうすればよいですか? openDialog.InitialFilename
は私のディレクトリ名を与えます。
openDialog.FileName
は「メソッドまたはデータメンバが見つかりません。」私にエラーを与えます。
Private Sub btnEditPhoto_Click()
If (txtImageName > "") Then
Application.FollowHyperlink txtImageName
Else
Dim openDialog As Office.FileDialog
Set openDialog = Application.FileDialog(msoFileDialogFilePicker)
openDialog.Filters.Clear
openDialog.Filters.Add "JPEG Files", "*.jpg"
Dim pickedFile As Boolean
pickedFile = openDialog.Show
If pickedFile Then
txtImageName.SetFocus
txtImageName.Text = openDialog.InitialFileName
End If
End If
End Sub
解決
あなたが欲しいます:
OpenDialog.SelectedItems.Item(1)
の代わりに:
OpenDialog.InitialFileName
あなたは複数選択を許可していないとして。
<時間>ですからます:
''Reference Microsoft Office x.x Object Library
Dim openDialog As Office.FileDialog
Set openDialog = Application.FileDialog(msoFileDialogFilePicker)
openDialog.Filters.Clear
openDialog.Filters.Add "JPEG Files", "*.jpg"
If openDialog.Show Then
''SelectedItems is not zero based
''Do not use .Text property in MS Access except
''in special cases, then you will not have to set focus
''txtImageName.SetFocus
txtImageName = openDialog.SelectedItems(1)
End If
AllowMultiSelectが使用されている場合、あなたはselectedItemsの
を反復処理する必要があります''Reference Microsoft Office x.x Object Library
Dim openDialog As Office.FileDialog
Dim i As Integer
Set openDialog = Application.FileDialog(msoFileDialogFilePicker)
'Use ctl or shift + click to select more than one file
openDialog.AllowMultiSelect = True
openDialog.Filters.Clear
openDialog.Filters.Add "JPEG Files", "*.jpg"
If openDialog.Show Then
For i = 1 To openDialog.SelectedItems.Count
Imagelst = Imagelst & ";" & openDialog.SelectedItems(i)
Next
End If
他のヒント
私は、単一のテキストファイルを選択するために必要...これは私がやったことある...それは罰金を働いています。
' Get the File
'----------------------------------------------------------
Dim dialog As Object
Dim pickedfile As Boolean
Dim myfile As String
Set dialog = Application.FileDialog(msoFileDialogFilePicker)
With dialog
.AllowMultiSelect = False
.Title = "Please pick the file to convert."
.Filters.Clear
.Filters.Add "Text Files", "*.TXT"
.Filters.Add "All Files", "*.*"
pickedfile = False
pickedfile = .Show
If pickedfile Then
myfile = .SelectedItems.Item(1)
End If
End With
'----------------------------------------------------------
また...あなたは...
との対話のタイプを置き換えることができますSet dialog = Application.FileDialog(msoFileDialogOpen)
は、それがうまく均等に働いています。
Private Sub Command135_Click()
Dim dialog As Object
Dim pickedfile As Boolean
Dim myfile As String
Set dialog = Application.FileDialog(1)
With dialog
.AllowMultiSelect = False
.Title = "Please pick the file to convert."
.Filters.Clear
.Filters.Add "Picture Files", "*.Jpg"
.Filters.Add "All Files", "*.*"
pickedfile = False
pickedfile = .Show
If pickedfile Then
myfile = .SelectedItems.Item(1)
End If
End With
Me.Form.Picture = myfile
End Sub
Command_135=Button Name
Me.Form.Picture = "The Control Name"
所属していません StackOverflow