2012-06-12 80 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

相关问题