[有與尚未得到滿意的答覆類似的標題另一個最近的問題,並給了我沒有洞察:-(]刪除Word中的水印從Excel VBA(終極版)的Word和Excel VBA之間的區別
這是我第一次嘗試將Word自動化與Excel VBA整合在一起,所以我開始用Word VBA中的宏記錄來獲得線索。不幸的是,當我嘗試將它轉換爲Excel時,甚至爲了不得不使用Excel本地wrdDoc爲了限定引用,在VBA中工作的代碼在Excel VBA中不起作用。令人沮喪的是:
這裏是記錄的代碼s nippet從Word,我開始: [sWatermark:
ActiveDocument.Sections(1).Range.Select
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Selection.HeaderFooter.Shapes("US-CA watermark").Select
Selection.Delete
這裏是從Excel代碼段我從衍生 [記錄到水印圖像匹配分配的名稱後手動編輯的形狀名稱]串預定義以匹配圖像名]
With wrdDoc
.Sections(1).Range.Select
.ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
.Selection.HeaderFooter.Shapes(sWatermark).Select
.Selection.Delete
End With
結果:VBA扼流圈每次當我嘗試選擇水印(線3內的帶塊)。
我已經嘗試過和沒有的問題行。前綴[即作爲wrdDoc.Selection和只是選擇(如在原始的Word宏)]。
我已經嘗試訪問水印作爲.HeaderFooter.shapes(1)後,驗證該範圍內只有1項。再次,這似乎在Word VBA中工作得相當令人滿意,但從未在Excel VBA中使用。
爲什麼?!?!?!
'.Selection'應該是'.Application.Selection' – Slai