1

所以这是我的困境,我正在将一个 csv 文件从一个电子商务商店转换到另一个,我需要重新排列数据。转置可以工作,但是我需要在指定条件更改后换行的信息。

IE

产品id imagepath rank
99999999 /image1.jpg 1
99999999 /image2.jpg 2
99999999 /image3.jpg 3
88888888 /image4.jpg 1

我需要输出它,例如:

product id imagepath imagepath2 imagepath3
99999999 /image1.jpg /image2.jpg /image3.jpg
88888888 /image4.jpg


因此,基本上每次产品 ID 更改时,我都需要将信息换行。电子表格大约有 1200 行左右。有些产品 ID 有 7 张图片,有些只有一张。我确定需要一个 FOR LOOP 或某种程度的东西,但我对自己生成它的宏并不精通,而且我似乎无法在这里找到一个具体的例子......帮助!

4

1 回答 1

0

你还试过什么?要求为你做吗?你能至少提供一个代码或你取得的任何进展吗?

<Maybe create a new table for your output>
Set ProductValues = ActiveDocument.Fields("product id").GetPossibleValues
For i = 0 To ProductValues.Count - 1
 ActiveDocument.Fields("product id").Select ProductValues.Item(i).Text
 Set imagepath= ActiveDocument.Fields("imagepath").GetPossibleValues
 For j = 0 To imagepath.Count - 1
        ActiveDocument.Fields("imagepath").Select imagepath.Item(i).Text
        Set rank= ActiveDocument.Fields("rank").GetPossibleValues
        For k = 0 To rank.Count - 1
              ActiveDocument.Fields("rank").Select rank.Item(i).Text
              <if the current product_id exists on the export table>
              <copy current row information in new table>
              <if has already a picture, increase the table columns by 1 and add new picture url>
              <or if rank give the amount of picture, you can loop through all rank position at beginning in order to find the maximum rank and intialize your table with [][your rank]>
              <For export table you do mytable[0][0]=product id>
              <check if product id is different from mytable[i-position] and different from product id>
              <to do the picture part mytable[i-position][rank]=picture url>
        Next
  Next
Next

这应该使您有可能一一完成所有单个元素,您现在的任务是完成其余部分并创建新表。

于 2013-05-22T15:00:03.037 回答