2012-05-16 70 views
0

我需要使用VBscript(來自QTP)將圖片前後插入一個Excel文件。如何在Excel文件中插入圖片後跟文本

我無法使用ActiveCell.Worksheet.Pictures.Insert,因爲此命令不會將圖片保留在Excel文件內(因爲Excel 2007)。使用

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

我需要找到上面這我的圖片插入,或如何插入圖片上面的某些細胞,而不是座標,或如何得到相應的座標小區單元名稱。

Found Shape的TopLeftCell和BottomRightCell屬性,但似乎無法讓它們返回VBSCript中的實際值。

謝謝。

回答

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" 
+0

圖片可以是不同的大小。在這種情況下,它不應該調整大小 – Andrey

+0

,只需將.width和.height關閉。我會想象,如果你狡猾,在將圖片的左上角位置設置給定的單元格之後,您可以測量圖片的高度,並將這些測量值對照excel行高(標準15),並確定哪個單元格直接在照片下面。 –

+0

這就是我想要避免的 - 計算細胞高度 您確定沒有其他方法可以完成嗎? – Andrey

相關問題