|
Rank: Member
Iscritto dal : 10/27/2003 Posts: 0
|
Salve a tutti, dovrei creare una macro in Visual Basic x Excel che faccia vedere una finestra col file system che permetta all'utente di navigare fra le cartelle ed infine selezionare un file. So che in VB esistono i controlli DirListbox, FileListBox e DriveListBox che però non riesco a richiamare nell'ambiente VB per Excel. Qualcuno sa dirmi se è possibile utilizzarli in Visual Basic e: - se si', quali controlli aggiuntivi devo attivare - se no, come posso fare altrimenti. Grazie a tutti, ciao. Daniele
|
|
|
|
|
Rank: Member
Iscritto dal : 10/4/2000 Posts: 0
|
ciao nella guida vba ho trovato questo , dagli un occhiata approfondita sicuramente troverai cio' che cerchi ciao Esempio Nell'esempio che segue vengono visualizzati tutti gli oggetti ScopeFolder disponibili nell'unità C:\ di Risorse del computer e viene dimostrata la necessità di utilizzare il metodo RefreshScopes in caso di modifica dell'elenco delle cartelle.
Sub TestRefreshScopesMethod() ' Displays what happens before and after the RefreshScopes ' method is called when a new folder is added to the list ' of scope folders.
' List before the folder is created. Call ListFolderNames ' Create a new folder on the C:\ drive in My Computer. ' An error will occur if this folder already exists. MkDir Path:="C:\Delete_After_Using" ' List after the folder is created. ' The newly-created folder does not appear in the list. Call ListFolderNames ' Refresh the list of folders. Application.FileSearch.RefreshScopes ' The newly-created folder now appears in the list. Call ListFolderNames End Sub
Sub ListFolderNames()
Dim i as Integer Dim strResults As String ' Loop through all the top-level folder names on the C:\ drive ' in My Computer and report the results. ' .SearchScopes.Item(1) = "My Computer" ' .ScopeFolders.Item(2) = "C:\" With Application.FileSearch.SearchScopes.Item(1). _ ScopeFolder.ScopeFolders.Item(2) For i = 1 To .ScopeFolders.Count strResults = strResults & .ScopeFolders. _ Item(i).Name & vbCrLf Next i MsgBox "Folder Names on C:\...." & vbCrLf & strResults End With End Sub
|
|
Rank: Member
Iscritto dal : 10/27/2003 Posts: 0
|
Grazie mille, ora provo. Daniele
|
|
Rank: Member
Iscritto dal : 7/22/2003 Posts: 0
|
prova con:
Sub finestra() Workbooks.Open Filename:=Application.GetOpenFilename("nome file (*.xls), *.xls") End Sub
"l'estensione puoi sceglierla"
ciauz <img src=icon_smile_big.gif border=0 align=middle>
Edited by - scorpions82 on 12/10/2003 18:30:45
|
|
Rank: Member
Iscritto dal : 10/27/2003 Posts: 0
|
Sei un mito Scorpions82, funziona. Grazie veramente tante. Approfitto ancora per chiedere un altra cosa. Sai se è possibile aprire la finestra del File System su una cartella predefinita? Grazie ancora, ciao. Daniele
|
|
Rank: Member
Iscritto dal : 7/22/2003 Posts: 0
|
mmm con questo dovrebbe funzionara... usala al posto dell'altra:
Sub OpenDialogFile() Application.Dialogs(xlDialogOpen).Show ("(drive):\(path)\(filename)") End Sub
esempio:
Sub OpenDialogFile() Application.Dialogs(xlDialogOpen).Show <font color=red>("C:\Programmi\")</font id=red> End Sub
in rosso ti ho segnato un possibile percorso, basta che modifichi quello a tuo piacimento, se vuoi puoi anche specificare il nome del file da aprire.
ciauz <img src=icon_smile_big.gif border=0 align=middle>
<img src=icon_smile_approve.gif border=0 align=middle><img src=icon_smile_approve.gif border=0 align=middle><img src=icon_smile_approve.gif border=0 align=middle>
|
|
Rank: Member
Iscritto dal : 10/27/2003 Posts: 0
|
Grazie mille, è proprio quello che mi serviva. Daniele
|
|
Guest |