返回列表 上一主題 發帖

[發問] 如何篩選圖片,並插入指定的欄位

回復 12# jackyliu
If InStr(fs, "-") = 0 Then '只有數值
用INSTR函數測試看看圖片檔名是否有"-"號,因為只有數值時才沒有"-"號

d(fs) = "H" & Val(fs) + 2 '因為在第列所以加2
字典物件是用來儲存檔名對應的位址, Val(fs)會得到NO值,而NO的1是從第3列開始,所以列位要加2


至於你要增加欄位的問題,又回到之前的重點:檔名跟儲存欄位的對應規則
要自己清楚對應規則,然後在判斷式中一條件來寫入字典物件
學海無涯_不恥下問

TOP

1. 版大 可以幫我解釋這兩行嗎?
2. 另外 可以幫我加上排序插入K欄以後的欄位嗎? (ex : 1-C-0, 1-C-1, 1-T-1, 1-T-2)

If InStr(fs, "-") = 0 Then '只有數值
   d(fs) = "H" & Val(fs) + 2 '因為在第列所以加2

TOP

感謝您的 熱心協助, 感激 ~

TOP

回復 9# jackyliu
設定成儲存格大小
學海無涯_不恥下問

TOP

板大  好強....
感謝您的幫忙

另外一問 圖片大小好像沒看到有設定,可圖片又可符合需求  圖片大小 高度2.7cm、寬度3.6cm
程式裡只有這樣寫 (  Height = A.Height), 什麼原因可以讓圖片 符合需求  圖片大小

TOP

回復 7# jackyliu
  1. Sub Ex()
  2. Set d = CreateObject("Scripting.Dictionary")
  3. fd = ThisWorkbook.Path & "\" '圖檔目錄
  4. fs = Dir(fd & "*.jpg")
  5. Do Until fs = ""
  6. If InStr(fs, "-") = 0 Then '只有數值
  7.    d(fs) = "H" & Val(fs) + 2 '因為在第列所以加2
  8.    ElseIf Len(fs) - Len(Replace(fs, "-", "")) = 1 Then '只有1個分隔符號
  9.    '第2碼為C就是I欄,否則就在J欄
  10.      If Split(fs, "-")(1) = "C" Then d(fs) = "I" & Val(fs) + 2 Else d(fs) = "J" & Val(fs) + 2
  11.    Else
  12.    '第3碼是1就在K欄,2就在L欄,其餘在M欄
  13.    k = IIf(Split(fs, "-")(2) = 1, "K", IIf(Split(fs, "-")(2) = 2, "L", "M"))
  14.    d(fs) = k & Val(fs) + 2
  15. End If
  16. fs = Dir
  17. Loop
  18. With Sheet1
  19. .Pictures.Delete '清除所有圖片
  20. Application.ScreenUpdating = False
  21. For Each ky In d.keys
  22.    Set A = .Range(d(ky)) '圖片插入的位置
  23.       With .Pictures.Insert(fd & ky) '插入圖檔
  24.          .Top = A.Top
  25.          .Left = A.Left
  26.          .Height = A.Height
  27.          .Width = A.Width
  28.        End With
  29. Next
  30. End With
  31. Application.ScreenUpdating = True
  32. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 6# Hsieh


如附件說明!
感謝您

1.jpg (49.42 KB)

1.jpg

TOP

回復 5# jackyliu


    H2、I2的C、F並沒有在圖片檔名的編號規則內嗎?
不然為何53.jpg  會在H欄位?
請在各儲存格位置填入圖片檔名,以釐清命名規則與表格位置的關係
學海無涯_不恥下問

TOP

本帖最後由 jackyliu 於 2011-2-15 23:42 編輯

因圖片資料一直往下延伸關係,會有很多的ID 敘述, 所以會有很多列
52-T-1要在編號52的哪一欄?---> 欄位名稱NO  的第52筆圖片也就是第52行列的L欄位
53.jpg 要在編號53的哪一欄?---> 欄位名稱NO  的第53筆圖片也就是第5行列的H欄位


插入圖片做說明
H欄插入的定義=圖片名稱為整數,列如;52, 53, 54
I欄插入的定義=圖片名稱為 *-C     ,列如;52-C , 53-C, 54-C
J欄插入的定義=圖片名稱為 *-T     ,列如;52-T , 53-T, 54-T
K欄插入的定義=圖片名稱為 *-*-1 ,列如;52-C-1 , 53-T-1, 54-T-1
L欄插入的定義=圖片名稱為 *-T     ,列如;52-C-2 , 53-T-2, 54-T-2
M欄插入的定義=圖片名稱為 *-T    ,列如;52-C-3 , 53-T-3, 54-T-3

TOP

52-T-1要在編號52的哪一欄?
53.jpg 要在編號53的哪一欄?
學海無涯_不恥下問

TOP

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