2015-07-21 677 views
0

有一些困​​難......我有Excel中的VBA代碼來打開MS Word並將頁面大小更改爲自定義大小。我無法使用它,我已經使用了幾種不同的方法來嘗試,我不經常這樣做,我想我錯過了一些東西。Excel VBA,在Word中設置自定義頁面大小

Dim objWord 
Dim objDoc 
Dim objRange 
Dim objSelection 

Set objWord = CreateObject("Word.Application") 

Set objDoc = objWord.Documents.Add 
Set objSelection = objWord.Selection 

objDoc.PageSetup.PageWidth = InchesToPoints(11.5) 
objDoc.PageSetup.PageWidth = InchesToPoints(14.375) 

<...rest of code> 

objWord.Visible = True 

在這一點上,我曾嘗試「objDoc.PageSetup.PageWidth」,如上圖所示,我也試過「objSelection.PageSetup.PageWidth」和「objWord.ActiveDocument.PageSetup.Pagewidth」 - 但它只是打開一個8.5「×11」的信紙文件。

+0

你得到一個錯誤? – Raystafarian

+0

你好,沒有錯誤。它只是打開信件頁面大小。 –

回答

0

這是否工作:

objDoc.PageSetup.PaperSize = xlPaperA4 

內置的紙張尺寸可以在這裏找到:Excel Paper Sizes

其中一個可能是靠近你的自定義尺寸。

1

這對我的作品

Dim objWord 
Dim objDoc 
Dim objRange 
Dim objSelection 

Set objWord = CreateObject("Word.Application") 

Set objDoc = objWord.Documents.Add 
Set objSelection = objWord.Selection 

objDoc.PageSetup.PageWidth = objWord.InchesToPoints(11.5) 
objDoc.PageSetup.PageWidth = objWord.InchesToPoints(14.375) 



objWord.Visible = True 

還在說信,但實際大小是不同的 -

enter image description here

注意你的代碼有pagewidth兩次,沒有高度。

使用 -

objDoc.PageSetup.PageHeight = objWord.InchesToPoints(14.375) 

enter image description here

+0

使用'objDoc.PageSetup.PageWidth = objWord.InchesToPoints(11.5)'爲我工作......非常感謝! –

+0

@LeahW如果您的問題已解決,請務必點擊解決問題的答案旁邊的綠色複選標記。這將標記爲已解決,以便其他人知道。 – Raystafarian