2017-04-04 25 views
3

我正在嘗試使用MS-Access中的VBA將圖片添加到MS-Word文檔。 它確實有效,但是當我嘗試設置位置時,出現運行時錯誤。。向Word文檔添加圖片:無效的屬性分配

以下是可用的代碼行。

objShapes.AddPicture FileName:=strCompleteImagePath, LinkToFile:=False 

MSDN,爲.AddPicture語法

expression .AddPicture(Filename, LinkToFile, SaveWithDocument, Left, Top, Width, Height) 

我想:

objShapes.AddPicture strCompleteImagePath, True, True, 100, 100 , 70 , 70 

objShapes.AddPicture FileName:=strCompleteImagePath, _ 
        LinkToFile:=False, _ 
        SaveWithDocument:=False, _ 
        Left:=100, _ 
        Top:=100, _ 
        Width:=70, _ 
        Height:=70 

,但我得到「錯誤號碼的錯誤信息augme nts或無效財產分配「

有什麼我是盲目的?這是因爲MS-Access?

我正在從MS-Access數據庫中取出一個圖形文件的路徑,打開一個MS-Word文檔,並將圖像插入到文檔的中間......這就是爲什麼我需要設置它的原因位置。在一次操作中沒有辦法做到這一點,.AddPicture似乎承諾?

+1

不能先插入,然後將它移動到你想要的地方嗎? – Masoud

+0

不相關,但是當文件路徑不是'String'時?考慮使用'path'而不是'strCompleteImagePath'(該過程只處理一個單一路徑,不是嗎?) - 並閱讀爲什麼*系統匈牙利語符號是完全無用的[**在這篇優秀的文章中**] (https://www.joelonsoftware.com/2005/05/11/making-wrong-code-look-wrong/)。 –

回答

0

Shapes.AddPicture documentation的MSDN示例是添加圖片到畫布項,不以形狀集合直接。你嘗試過嗎?

的描述是很清楚,太:

添加圖片到畫布。返回一個表示圖片並將其添加到CanvasShapes集合的Shape對象。

Dim canvas As Shape 
Set canvas = ActiveDocument.Shapes.AddCanvas(Left:=100, Top:=100, Width:=70, Height:=70) 

Dim pic As Shape 
Set pic = canvas.CanvasItems.AddPicture(FileName:=path, LinkToFile:=False, SaveWithDocument:=True) 
+0

馬特和馬蘇德,感謝您的建議。雖然我現在可以將圖像設置在不同的位置,但我仍然不確定如何強制它在新頁面上。我不是MS word對象的專家。我想我必須定義一個新的範圍到我的文檔的最後一頁,然後一些如何將該信息傳遞給AddPicture方法。 * fyi,我試着讓頂端參數> 800認爲會迫使它從下一頁開始)。 – EdFnj

+0

@EdFnj高興地看到聽到它的工作!如果您有新問題,請將其標記爲已回答並提出新問題 - 但請確保您研究瞭如何將頁面添加到Word文檔,以及如何首先在特定頁面上添加圖形。 –