2012-06-12 106 views
0

我是VBA的新手(我的意思是,真的是新的),我希望你給我一些提示。VBA Excel:讀取文件,並在列中儲存圖像

我有一個Excel 2列文件:SKU和media_gallery 我也有一個文件夾中放養的圖像(允許其命名爲/ imageFolder)

我需要解析imageFolder,尋找所有圖像通過SKU sarting .jpg,並將它們放到以分號(;)分隔的media_gallery列中

示例:我的SKU是「1001」,我需要解析以1001開頭的所有圖像的圖像文件夾(所有圖像都有以下模式: 1001-2.jpg,1001-3.jpg等...)

我可以在Java或C#中做到這一點,但我想給一個機會到VBA。 :)

我該怎麼做?

編輯:我只需要文件名是!我應該說我的文件夾中有20 000張圖像,8000個SKU,所以我不知道我們如何處理20 000個圖像名稱的循環。編輯2:如果SKU包含短劃線( - ),我不需要對它進行處理,所以我可以傳遞給下一個SKU。並且每個SKU最多有5個圖像(....; SKU-5.jpg)

謝謝大家。

回答

0

如何插入圖片給你一列有每個單元一個形象的名字:How to get images to appear in Excel given image url

取上述和引進爲文件名的內循環:

if instr(url_column.Cells(i).Value, "-") = 0 then 

    dim cur_file_name as string 
    cur_file_name = dir("imageFolder\" & url_column.Cells(i).Value & "*.jpg") 

    do until len(cur_file_name) = 0 
    image_column.Cells(i).Value = image_column.Cells(i).Value & cur_file_name & ";"  
    cur_file_name = Dir 
    loop 
end if 
+0

我只需要文件名是!我應該說我的文件夾中有20 000張圖像,8000個SKU,所以我不知道我們如何處理20 000個圖像名稱的循環。 編輯2:如果SKU包含短劃線( - ),我不需要對待它,所以我可以傳遞給下一個SKU – user1023021

+0

@ user1023021你是什麼意思,不需要治療?它不是循環20000個名字,'Dir'應用一個模式,比如'SKU-5 * .jpg'。這發生在文件系統級別上。 – GSerg

+0

如果SKU包含破折號(我們在SKU欄中找到的SKU)示例:SKU = thisIsMy-SKU或SK-U或111-5),我不需要對它進行處理。 – user1023021

相關問題