如何在word文档中的table的同一个单元格中添加2张来自excel的jpeg图片?

How to add 2 jpeg pictures from excel in the same cell of a table in word document?

我正在尝试从 table(word 文档)中的 excel 工作表中添加几张 jpeg 图片(最多 6 张),但最后只出现了一张。每次我添加一张图片时,它都会覆盖前一张。这是我的一部分代码有问题:

' Filling the table
For i = 1 To iNumChem
    ' Column 1
    wdTable.Rows(i + 1).Cells(1).Range.Text = Sheet1.Cells(a + 1 + 2 * i - 2, 5).Value
    ' Column 2
    wdTable.Rows(i + 1).Cells(2).Range.Text = Sheet1.Cells(a + 1 + 2 * i - 2, 31).Value
    ' Column 3
    For p = 0 To 5
        If Sheet1.Cells(a + 2 * i, 5 + 2 * p).Value <> 0 Then
            Sheet3.Shapes(Sheet1.Cells(a + 2 * i, 5 + 2 * p).Value).Copy
            wdTable.Rows(i + 1).Cells(3).Range.PasteSpecial
        End If
    Next p
    ' Column 4
Next i

我尝试使用属性 ParagraphFormat 和 Move,但没有帮助。 我通常发现很难将“光标”移动到正确的位置以添加内容,尤其是在这种情况下并排添加图片(不是形状)。

欢迎任何ideas/comments。

注意:在评论后编辑,因为我混合了术语形状和图片! 我正在尝试从 Excel 中拍摄照片并将它们添加到 table 单词的同一单元格中。

你可以试试:

...Range.Collapse Direction:= wdCollapseEnd

当您粘贴形状时,它不会 单元格中,它会固定在单元格上,而是浮动在单元格上方。这与 Excel 中的形状相同,其中形状浮动在工作表上方并隐藏其下方的单元格。

要获得 table 中的形状,您需要将环绕类型设置为内联,否则形状将相互堆叠。

With wdTable.Rows(i + 1).Cells(3).Range
   .PasteSpecial
   .ShapeRange(1).WrapFormat.Type = wdWrapInline
End With

编辑:

图片作为 InlineShapes 粘贴到 Word 中。它们不会将一个堆叠在另一个之上。如果您尝试将多个粘贴到 wdTable.Rows(i + 1).Cells(3).Range 中,每个粘贴都会覆盖最后一个。相反,您需要在循环外声明一个变量,例如 wdCellRange as Word.Range,然后在插入图片时使用它,例如

Set wdCellRange = wdTable.Rows(i + 1).Cells(3).Range
With wdCellRange
    .Collapse Direction:= wdCollapseEnd
    .PasteSpecial
End With