Ciao a tutti,
ho una routine in pulsante di una maschera singola che genera una finestra di (picker) sulle rissorse del computer permettendo all'utente di selezionare una cartella dalla quale copiare i file in un'altra cartella associata al numero di progetto
Private Sub cmdAddLink_Click()
Dim strTipoScheda As String, strPath1 As String, strNewPath As String
Dim dlgPicker As FileDialog
Dim strName As String
strPath1 = stPrjPathRelease & Forms.frmPrjdet.PrjNr
' Grab a copy of the Office file dialog
Set dlgPicker = Application.FileDialog(msoFileDialogFolderPicker)
With dlgPicker
' Set the dialog title
.title = GetMsgPath(MsgLink.SelectPath)
' Make sure the filter list is clear
.Filters.Clear
End With
'imposto i parametri comuni del dialogbox
With dlgPicker
' Set the button caption
.ButtonName = "Select"
' Select only one file
.AllowMultiSelect = False
' Set the initial path name
If IsNothing(gstrPath_last) Then
.InitialFileName = strPath1
Else
.InitialFileName = gstrPath_last
End If
' Show files as thumbnails
.InitialView = msoFileDialogViewDetails
' Show the dialog and test the return
If .Show = 0 Then
' Didn't pick a file - bail
Exit Sub
End If
' Should be only one filename - grab it
strNewPath = Trim(.SelectedItems(1))
End With
Set dlgPicker = Nothing
If Not IsNothing(strNewPath) Then
'memorizzo l'ultima ricerca
'gstrPath_last = GetParentPath(strPath)
gstrPath_last = strNewPath
Call SetCurrentDirectory(stFoldDoc)
'compongo il nome del file o della cartella per rinominare in FixLink
strName = "[" & Me.PrjNr & "]"
'rinomino il file o la cartella secondo la regola di cui sopra (se possibile)
strPath1 = FixLinkCopy(strNewPath, strPath1, strName)
'Set an error trap
On Error Resume Next
End If
End Sub
Tutto funziona tranne il fatto che dalla finestra di dialogo posso vedere le cartelle ma non i file in essa contenuti.. E' forse un problema di parametri al codice che genera il picker? O manca qualche referenza visual basic? Grazie per ogni eventuale consiglio.
Ciao