2010-01-28 7 views
5

निर्देशिका नाम के बजाय फ़ाइल नाम प्राप्त करने के लिए मैं अपना कोड कैसे बदलूं? openDialog.InitialFilename मुझे निर्देशिका का नाम देता है।
openDialog.FileName मुझे त्रुटि "विधि या डेटा सदस्य नहीं मिला" देता है।वीबीए (एमएस एक्सेस 2007 के लिए) में फ़ाइल डायलॉग ऑब्जेक्ट से मुझे एक फ़ाइल नाम कैसे प्राप्त होगा?

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 
+0

उत्तर को शामिल करने के लिए अपने प्रश्न को संपादित करने में भ्रमित है, इस बिंदु पर, आपका कोड वह है जो आप मदद के लिए पूछ रहे हैं। –

उत्तर

11

आप चाहते हैं:

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 
+0

बहुत बहुत धन्यवाद! अब यह काम कर रहा है। –

1

मैं एक एकल पाठ फ़ाइल का चयन करने की जरूरत के माध्यम से पुनरावृति करने की जरूरत है ... यह मैं क्या किया है ... यह ठीक काम किया।

' 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) 

संवाद प्रकार की जगह ले सकता है और यह भी उतना ही अच्छा काम किया।

0
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" 
+0

आपके द्वारा पोस्ट किए गए कोड का एक संक्षिप्त विवरण दें ताकि यह दूसरों के लिए सहायक हो। – Rakesh

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^