如何在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
我正在尝试从 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