2017-08-10 71 views
0

我在工作表上有多個公司徽標,我試圖選擇並插入Word文檔,因爲工作簿是共享的,並且我不想引用驅動器或集中的位置(我已經在下面註釋過,並且工作正常)。我不知道如何將圖片引用爲字符串?使用工作簿中的圖片/形狀替換文件位置。有任何想法嗎?從多個形狀對象中選擇並插入Word vba

Dim CompanyLogo As String 
Dim Pic As Shape 
Dim shp As Object 

On Error GoTo ERRHANDLER 
INSHEADERLOGO = True 


'Select from multiple logos based on user selection 
'CompanyLogo = "C:\Users\Me\Dropbox\Pics\My Logo.jpg" 
TWB.Activate 
IWS.Activate 
For Each Pic In ActiveSheet.Shapes 
    If Pic.Type = msoPicture Then 
     If Pic.Name = WD.PicName Then 
      Debug.Print Pic.ID 
      Debug.Print Pic.Name ' neither worked 
      CompanyLogo = Pic.Name 
      Set shp = DOC.sections.item(1).headers(1).Shapes.AddPicture(CompanyLogo) 
     End If 
    End If 
Next Pic 

回答

0

不知道你的意思是把pic作爲一個字符串引用,但這裏是我剛剛嘗試過的,它給了我所有你想要的信息。希望這會有所幫助:

Sub PicThing() 

    Dim oPic As Shape 
    Dim oWS As Worksheet: Set oWS = ThisWorkbook.Worksheets(1) 

    For Each oPic In oWS.Shapes 
     MsgBox "Type: " & oPic.Type & vbCrLf & "Name: " & oPic.Name & vbCrLf & "ID: " & oPic.ID 
    Next 

End Sub 
+0

謝謝扎克。我所追求的是如何拍攝Excel工作表中的圖片並將其插入到我正在創建的Word文檔的標題中。如果我從我的硬盤引用圖片,我可以使它工作,但由於沒有我知道的文件路徑(因此字符串),所以我無法引用Excel表格中的圖片。我想重述一下我的問題。如何在Excel中選擇圖片/形狀,然後將其添加到Word中的標題中? – Grackel