如何将图片后跟文本插入Excel文件

时间:2012-05-16 15:15:08

标签: excel vba vbscript excel-vba qtp

我需要使用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中返回实际值。

谢谢。

1 个答案:

答案 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"