2016-08-23 40 views
1

我一直在編寫代碼來構建每週報告的自定義文檔。我曾經設置過創建一個新的文檔,建立表格,格式化所有內容,插入一個標誌等等,當我試圖通過VBA調整標誌大小時,Word崩潰了,我撞到了牆上。然後,我發現我無論如何都在做錯誤的方式,而且我應該創建一個模板,讓代碼打開該模板,然後將更改直接插入到該文檔中。Word 2010 VBA:將文本添加到模板而不刪除下面的所有內容

當我添加文本到我需要的範圍時,下面的所有內容都被刪除。我有三行標題;第三行是可變的,每週都會改變。在這之下,我有三張桌子,其中一些單元將每週更新一次。現在我只是停留在文檔的第三行。

這裏是我的例子。這是非常短暫的,因爲我重新開始並立即陷入死衚衕。

Dim Template as Document 
Set Template = ThisDocument 
Dim InsertSpot as Range 
Set InsertSpot = Template.Range(46) 

InsertSpot.Text = "Hello" 

當我運行的時候,一切都被刪除下面的「你好」。

我嘗試了一些不同的東西,如:

Set InsertSpot = Template.Range(46,50) 

InsertSpot.InsertAfter "Hello" 

這不工作;它只是將「Hello」添加到第一個表的第一個單元格。

我覺得自己被這個小學部分困住了,但我真的不知道該做什麼。我在網上看到的所有內容都討論瞭如何在書籤中插入文本而不刪除書籤。我只想輸入文字,句號。

有什麼想法?

回答

0

我找到了答案。我做了以下內容:

Dim Template as Document 
Set Template = ThisDocument 
Dim InsertSpot as Range 
Set InsertSpot = Template.Range(46, 46) 

InsertSpot.Text = "Hello" 

我不得不同時列出的起始和結束字符,以便插入的文本不會漸漸成爲了頁面的其餘部分。希望我幫助了有類似問題的其他人。不幸的是,Word VBA相當缺乏支持和明確的解釋。

0

其他辦法可以

ThisDocument.Range(46).InsertBefore "Hello" 

ThisDocument.Tables(1).Range.InsertBefore "Hello" 

ThisDocument.Paragraphs(3).Range.InsertAfter "Hello" 
相關問題