2016-04-27 38 views
0

我的宏創建名爲year.number.description(2016.185.Hello)的文件夾。調用shell - 只知道文件名的一部分

的問題是,這個名稱可以改變,因此,例如,幾天之後,有人重命名爲2016.185.Hi

在相同的宏沒有打開該文件夾的選項。

我認爲添加「。*」可以工作,但似乎沒有。

Private Sub cmdNumero_Click() 

Dim Carpeta As String 
Año = Me.txtAny.Value 
Numero = Me.txtNumero.Value 

Carpeta = "C:\Folder1\Folder2" & "\" & Año & "." & Numero & ".*" 

Call Shell("explorer.exe " & Carpeta, vbNormalFocus) 

End Sub 

感謝您的關注

+0

你想讓用戶輸入描述嗎? – LiamH

+0

對不起,對於最近的答覆LiamH, 不,它只是一個按鈕,應該打開該文件夾,用戶可能不知道確切的描述。 感謝您的時間 – Ignasis

+0

任何幫助將不勝感激,謝謝 – Ignasis

回答

0

你可以使用一個輔助功能,讓你的實際文件夾路徑..類似以下內容:

Function GetSubFolderByPartial(sRootPath As String, sSub As String) As String 
    Dim oFso As Object 
    Dim oTopFolder As Object 
    Dim oSubs As Object 
    Dim oFolder As Object 

    Set oFso = CreateObject("Scripting.FileSystemObject") 
    Set oTopFolder = oFso.GetFolder(sRootPath) 
    Set oSubs = oTopFolder.SubFolders 
    For Each oFolder In oSubs 
     If oFolder.Name Like sSub & "*" Then 
      GetSubFolderByPartial = oFolder.Path 
      Set oFso = Nothing 
      Exit Function 
     End If 
    Next 
End Function 

所以,你可以簡單地調用它是這樣的:

Carpeta = GetSubFolderByPartial("C:\Folder1\Folder2", Año & "." & Numero & ".") 
If Len(Carpeta) > 0 Then 
    Call Shell("explorer.exe " & Carpeta, vbNormalFocus) 
End If 

希望能幫到你

+0

完美!感謝GeniuS BraiN! – Ignasis

相關問題