我正在尝试将图像(已经是 Excel 中的图像,而不是随后转换为图像的表格)从 Excel 工作表复制到 Word 标题。之后我想操纵它,例如比例,对齐等)。粘贴效果很好,但之后我无法选择它,因为它既没有列为 InlineShape (然后我可以转换为形状)也没有列为 Shape - 那么它是什么以及如何选择它?从我在这里和其他各种平台上阅读的内容来看,这个 应该 工作,但它没有。我是否忘记处理有关标题的事情?
我现在尝试了各种编码方法,但没有一个有效。例子:
1)
ThisWorkbook.Worksheets("Backup - Do not change").Shapes("companyLogo").Copy
wdDoc.Sections(1).Headers(2).Range.Paste 'this should result in an InlineShape
Debug.Print wdDoc.InlineShapes.Count '= 0
Debug.Print wdDoc.Shapes.Count '= 0
2)
ThisWorkbook.Worksheets("Backup - Do not change").Shapes("companyLogo").Copy
wdDoc.Sections(1).Headers(2).Range.PasteSpecial DataType:=8 '=wdPasteShape
Debug.Print wdDoc.InlineShapes.Count '= 0
Debug.Print wdDoc.Shapes.Count '= 0
3)
Dim wdRng As Object
Set wdRng = wdDoc.Sections(1).Headers(2).Range
wdRng.Paste
Debug.Print wdDoc.InlineShapes.Count '= 0
Debug.Print wdDoc.Shapes.Count '= 0
我希望你能帮助我解决这个问题,这让我很生气。干杯!
最佳答案
您的代码的基本问题是您将其粘贴到标题中,然后尝试引用它而不考虑其位置。尝试以下方式:
ThisWorkbook.Worksheets("Backup - Do not change").Shapes("companyLogo").Copy
With wdDoc.Sections(1).Headers(2).Range
.Paste
With .InlineShapes(1)
.LockAspectRatio = True
.Width = wdApp.InchesToPoints(2)
End With
End With
关于excel - 通过 VBA 从剪贴板粘贴到 Word 标题的图像既不列为 InlineShape 也不列为 Shape,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62064676/