我試圖用VBA將文件(任何類型)嵌入到我的Word文檔中。下面是一段摘錄,展示了我如何嘗試這樣做。我能夠成功嵌入文件,但用於嵌入文件的圖標不正確。我對MSDN documentation和Google搜索的評論讓我相信省略IconIndex和IconFileName會提示VBA選擇默認圖標......但這似乎並沒有發生(請參見下圖)。我認爲我必須錯過一步?通過VBA嵌入文件時顯示正確的圖標
Option Explicit
Sub test_macro()
' Attach File
Selection.InlineShapes.AddOLEObject _
filename:="C:\newfile.docx", _
LinkToFile:=False, _
DisplayAsIcon:=True, _
IconLabel:="This is my file"
End Sub
結果:
注:使用Word 2007
謝謝,不過這種方法只只有*如果你想嵌入一個文件。如果你想嵌入PDF或Excel,該怎麼辦?爲所有可能的類型構建一個查找表是不切實際的,因爲Windows應該已經知道每個文件擴展名都有什麼圖標,所以不需要這樣做。此外,當我手動執行此操作時,Word會選取正確的圖標! :)似乎在某處存在一個缺失的難題。 – Aquadisco
@Aquadisco,真假。可能有更好的解決方案,但並不複雜。你只需要找到一些'* .ico'文件,它們將代表其他類型文件的圖標。看,這是我的PDF文件的本地路徑,我將使用'IconFileName'參數:''C:\ Windows \ Installer \ {AC76BA86-7AD7-1033-7B44-AB0000000001} \ SC_Reader.ico「。如果我經常這樣做,我會將一些圖標放在特殊文件夾中以便快速使用它們。 –
@Aquadisco,還有一件事 - 在你的宏中,你錯過了決定哪個圖標應該附加的代碼的重要部分。因此,我不能同意,與手動附加文件相比,「缺少一部分難題」。 –