返回列表 上一主題 發帖

[發問] FileExists 方法能否找尋有無圖片檔存在?

[發問] FileExists 方法能否找尋有無圖片檔存在?

是否該方法不能使用星號* 字元來找尋符合jpg格式的圖片檔?
程式碼如下,請指教

Sub photoConv()
    Dim myFSO As New FileSystemObject
    Dim myPath As String
    Dim myPhoto As String
    myPath = ThisWorkbook.Path
    myPhoto = myPath & "\" & "原始相片" & "\" & "*.jpg"
    If myFSO.FileExists(myPhoto) Then
        MsgBox "good job"
    Else
        MsgBox "not good"
    End If
End Sub

以上會顯示「not good」
-------------------------------------------------------------------------------
Sub photoConv()
    Dim myFSO As New FileSystemObject
    Dim myPath As String
    Dim myPhoto1 As String
    myPath = ThisWorkbook.Path      
    myPhoto1 = myPath & "\" & "原始相片" & "\" & "1Blue hills.jpg"
    If myFSO.FileExists(myPhoto1) Then
        MsgBox "good job"
    Else
        MsgBox "not good"
    End If
End Sub

則可以顯示「good job」
HELLO !!

回復 2# Hsieh
Hsieh 大:
試過了 確實可行  感謝
但能否知道我原先的程式為何不可行?是FileExists 方法本身的問題嗎?
HELLO !!

TOP

回復 3# baconbacons
追加一個問題請教
如果想得知該資料夾中的JPG檔數量的話 該使用什麼方式?
HELLO !!

TOP

回復 6# yangjie
yangjie大:以下計算圖片數量的寫法是我先在網路上找到的方法「Files.Count」
                       但不知道為什麼數量結果總是會多出1,所以我必須要扣除1才會符合實際數目
                       我也有確認過並沒有隱藏檔,能否知道為何有這種情況?
                       ps:yangjie大 你的方法確實可以 感謝教導
                                另外再請教yangjie大,你在使用For Each ____  In  ____的寫法
                                是怎樣的思考方式,在什麼情境下會考慮使用到這種方法
                                這寫法看別人寫都是可以理解,但不知道怎麼用的出來
                                麻煩指教
  ----------------------------------------------------------------------------------------------------
Sub photoConv()
    Dim myFSO As New FileSystemObject
    Dim myPath As String
    Dim myPhoto As String, countPhoto As String
    myPath = ThisWorkbook.Path      
    myPhoto = Dir(myPath & "\" & "原始相片" & "\" & "*.jpg")
    countPhoto = myFSO.GetFolder(myPath & "\" & "原始相片").Files.Count - 1
    If myPhoto <> "" Then
        MsgBox (countPhoto)
    Else
        MsgBox "no photo"
    End If
End Sub
HELLO !!

TOP

回復 8# yangjie
yangjie大:
                     試了一下,發現一個有趣的答案,不知道是否為「GetFolder」預設的問題?
                     就是我如果在活頁簿所在資料夾又新增一個名為原始相片的資料夾
                     將相片(或檔案)放在該子資料夾 結果值一樣會多1
                     就算是把該子資料夾清空 結果值顯示「1」
                     不知道該如何解釋  煩請賜教

修改後程式碼如下:
Sub test1()
    Dim f1 As Object
    Set f1 = CreateObject("Scripting.FileSystemObject")
    n = f1.GetFolder(ThisWorkbook.Path & "\" & "原始相片").Files.Count
        MsgBox n
    Set f1 = Nothing
End Sub
HELLO !!

TOP

回復 10# yangjie
yangjie大:
                      能否直接貼程式碼我再試試 我權限還無法下載檔案(努力中…:L )
HELLO !!

TOP

        靜思自在 : 有多少力量就做多少事,不要心存等待,等待才會落空。
返回列表 上一主題