0

我需要使用 VBscript(来自 QTP)将图片前后插入文本到 Excel 文件中。

我不能使用 ActiveCell.Worksheet.Pictures.Insert,因为此命令不会将图片保留在 Excel 文件中(自 Excel 2007 起)。

使用方法: objExcel.ActiveSheet.Shapes.AddPicture ImagePath, False, True, 0, PrevHeight, ptWidth, ptHeight

我需要找到插入图片的单元格名称,或者如何在某些单元格上方插入图片而不是坐标,或者如何获取与坐标对应的单元格。

找到 Shape 的 TopLeftCell 和 BottomRightCell 属性,但似乎无法让它们在 VBSCript 中返回实际值。

谢谢你。

4

1 回答 1

0

也许(来自 QTP)的评论是把它扔掉了,但我刚刚制作了一个 vbScript 来完全使用图片插入来完成您想要的操作。我的结果是一张漂亮的胖图片,排列在 B2 的左上角和 F16 的左下角 - 值得注意的是它正好在 F16,但可能足够接近!- 在我的图片上方和下方有文字。另外,当我关闭文件并重新打开时,图片仍然存在。

Set objXL = CreateObject("Excel.Application")
objXL.visible = true

Set wkb = objXL.Workbooks.Open("P:\Script\vbScript\Help\InsertPicture.xlsx")
Set ws = wkb.Sheets("Sheet1")
Set p = ws.Pictures.Insert("C:\Blue.jpg")

Set objRng = ws.Range("B2:F15")
With p
   .Top = objRng.Top
   .Left = objRng.Left
   .Width = objRng.Width 
   .Height = objRng.Height
End With

ws.Range("B1").Value = "myTop"
ws.Range("B16").Value = "myBottom"
于 2012-05-17T21:45:55.930 回答