我需要使用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中返回实际值。
谢谢。
答案 0 :(得分:0)
也许(来自QTP)的评论是关闭它,但我只是使用图片插入制作了一个vbScript来完成你想要的。我的结果是一张漂亮的胖子照片,在B16的左上角和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"