- 帖子
- 97
- 主題
- 32
- 精華
- 0
- 積分
- 167
- 點名
- 0
- 作業系統
- WinXP
- 軟體版本
- Office2003
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-3-22
- 最後登錄
- 2017-8-16
|
本帖最後由 a703130 於 2012-12-5 10:32 編輯
下面是我的一部份程式碼,目標是從a.xls抓檔案名稱,再去資料夾內抓取圖檔,修改大小後放回a.xls檔
目前遇到一個問題,就是當我a.xls抓了檔案名稱,但是資料夾內沒有檔案,我該如何判斷
是否在第15行前加入一判斷式,判斷檔案名稱是否存在於資料夾,如果沒有則離開if 判斷式
判斷檔案是否存在,這部分我不知道如何寫~是否能請前輩幫忙,感激不盡- Sub InsertImage(ImagePath, FolderName)
- Dim ReadRow As Integer
- Dim ImageName As String
- Sheets("a").Select
- ReadRow = 24
-
- '判斷Safety頁面第一欄是否有需要載入圖檔直至出現"END"字樣
- Do Until UCase(Cells(ReadRow, 1)) = "END"
- ImageName = Cells(ReadRow, 1)
-
- '利用CheckFileName func 來判斷是否有關鍵字 ".PNG & .JPG",如果有則載入圖片
- If CheckFileName(UCase(ImageName)) = True Then
- Cells(ReadRow, 2).Select
- ActiveSheet.Pictures.Insert(ImagePath & "\" & FolderName & "\" & ImageName).Select
- Call ImageSize
- Else
- End If
- ReadRow = ReadRow + 1
- Loop
- End Sub
- Function CheckFileName(ByVal ImageName As Variant) As Boolean
- Dim ImageLenth As Integer
- Select Case ImageName
- '如果空白則離開此 func
- Case Is = ""
- CheckFileName = False
- Exit Function
- '計算字串長度並擷取後面4個字元,判斷是否有關鍵字 ".PNG & .JPG",如果有則載入圖片
- Case Else
- ImageLenth = Len(ImageName)
- ImageName = Mid(ImageName, ImageLenth - 4 + 1, 4)
- If ImageName = ".PNG" Or ImageName = ".JPG" Then
- CheckFileName = True
- Else
- CheckFileName = False
- End If
- End Select
- End Function
- '設定圖檔的Size大小及位置
- Sub ImageSize()
- Selection.ShapeRange.LockAspectRatio = msoFalse
- Selection.ShapeRange.Height = 289.5
- Selection.ShapeRange.Width = 531.75
- Selection.ShapeRange.Rotation = 0#
- Selection.ShapeRange.IncrementLeft 5#
- Selection.ShapeRange.IncrementTop 5#
- End Sub
複製代碼 |
|