標題:
[發問]
不固定的搜尋路徑
[打印本頁]
作者:
man65boy
時間:
2015-11-25 14:10
標題:
不固定的搜尋路徑
若是"圖片資料夾"路徑,在不是很固定的路徑讀取的話,沒法執行檔案讀取,例如:有可會放在dropbox雲端,也有可能放在隨身硬碟或任何電腦的磁碟裡,要怎樣才能只讀取特定資料夾照片資料,不用給他正確的路徑,因為路徑會變來變去,唯一不變的是檔名"圖片的資料夾",請老師們幫忙解題,謝謝!!!
附檔:[attach]22596[/attach]
Sub Ex()
Dim xPath As String, xFile As String, Sp As Integer, Cz As Integer, G As Long, K As Integer, Mh As Integer
Dim ii As Integer
xPath =
"D:\mydata\Desktop\新增資料夾 (2)\圖片資料夾\"
'圖片的資料夾
'Dir 函數 傳回一個 String ,用以表示合乎條件、檔案屬性、磁碟標記的一個檔案名稱、或目錄、檔案夾名稱。
xFile = Dir(xPath & "*.jpg") '圖片的副檔名 為jpg
xFile = Dir(xPath & "*.*") '圖片的資料夾 都是圖片檔
With ActiveSheet '作用中的工作表
Sp = 35 '水平
Cz = 160 '垂直
G = 0.1 '高
K = 170 '寬
Mh = 4 '每行
.Pictures.Delete '刪除 所有圖片
.[a:a] = "" '清除 A欄資料
ii = 1 '設定為1
Application.ScreenUpdating = False
Do
.Cells(ii, 1).Select '選擇A欄 的第 ii 儲存格(ActiveCell :作用中的儲存格)
.Cells(ii, 1) = xFile '寫上檔名
With .Pictures.Insert(xPath & xFile) '插入圖片
.Left = ActiveCell.Offset(, 1).Left '插入圖片的左端位置是: ActiveCell 右移2欄的左端
.Top = ActiveCell.Offset(, 1).Top '插入圖片的上端位置是: ActiveCell 右移2欄的上端
.Width = 250 '設定 插入圖片的 寬度190
.Height = 150 '設定 插入圖片的 高度143
ActiveCell.Offset(, 2).ColumnWidth = 30 '設定插入圖片所在儲存格 的寬
ActiveCell.Offset(, 2).RowHeight = .Height '設定插入圖片所在儲存格 的高
End With
xFile = Dir '繼續尋找下一個檔案
ii = ii + 1 'A欄 的第 ii 儲存格往下一列
Loop Until xFile = "" '離開 Do 迴圈的條件是: 找不到 檔案
.[A1].Select
Selection.EntireColumn.AutoFit 'AutoFit 方法 將範圍中的欄寬和列高調整為最適當的值
Application.ScreenUpdating = True 'ScreenUpdating 屬性 定如果螢幕更新功能是開啟的則為 True。讀/寫 Boolean
End With
End Sub
作者:
GBKEE
時間:
2015-11-25 15:18
回復
1#
man65boy
試試看
Dim ii As Integer
'xPath = "D:\mydata\Desktop\新增資料夾 (2)\圖片資料夾\" '圖片的資料夾
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then
xPath = .SelectedItems(1) & "\"
Else
Exit Sub
End If
End With
複製代碼
MsoFileDialogType 可以是這些 MsoFileDialogType 常數之一。
msoFileDialogFilePicker 允許使用者選取檔案。
msoFileDialogFolderPicker 允許使用者選取資料夾。
msoFileDialogOpen 允許使用者開啟檔案。
msoFileDialogSaveAs 允許使用者儲存檔案。
複製代碼
作者:
man65boy
時間:
2015-11-25 20:12
回復
2#
GBKEE
感謝GBKEE大師的解題,以這種方式是確實可以解決不固定的路徑,真多謝^^
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)