2015-03-08 43 views
1

我在細胞F31插入從VBA的圖像到Excel插入圖像在特殊情況下(= INCORPORER( 「Forms.Image.1」 EXCEL; 「」)

With Worksheets("CheckListIndustrialisation").Pictures.Insert(image) 
    '.Top = [F31].Top 
    '.Left = [F31].Left 
    '.Width = [F31].Width 
    '.Height = [F31].Height 

但我想要做的是插入我的形象在Excel中的同一張紙上,但在圖像,而不是F31一個特例圖像的特殊情況中的代碼是:

=INCORPORER("Forms.Image.1";"") 

我沒有找到如何改變我的代碼

+0

至少,我不清楚你究竟在問什麼。也許你可以添加更多的描述或例子,使你的問題更加清晰。 – 2015-03-08 22:57:19

+0

@MichaelOryl他試圖插入Image控件類型的'OleObject'。 'INCORPORER'是'EMBED'的法語,我想這是我們通常在英文版XL上看到的。 – L42 2015-03-09 03:13:24

回答

1

你想要做的是添加一個工作表中的OleObject
以下嘗試:

'First add the OleOject 
Dim img As OLEObject, sh As Worksheet 
Set sh = Worksheets("CheckListIndustrialisation") 
Set img = sh.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, _ 
    DisplayAsIcon:=False, Left:=147, Top:=42, Width:=85.5, Height:=37.5) 

'Second add image to your OleObject 
Dim iobj As MSForms.Image 
Set iobj = img.Object 
iobj.Picture = LoadPicture("C:\Users\User.Name\Pictures\SamplePicture.gif") 

我聲明並設置對象類型,所以你知道你的工作是什麼類型的對象。
在VBA中,某些類型的對象屬於特定的對象集合。
您需要檢查您希望處理的對象的具體類型,以便查看可用的屬性和方法,從而執行正確的代碼。 HTH。