遇到一些困难......我在Excel中使用VBA代码打开MS Word并将页面大小更改为自定义大小。我不能让它工作,我用Google搜索了几种不同的方法来尝试它,我不经常这样做,我想我错过了什么。
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“x 11”的信纸文件。
答案 0 :(得分: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
它仍然说信,但实际大小不同 -
请注意,您的代码有pagewidth
两次,没有高度。
使用 -
objDoc.PageSetup.PageHeight = objWord.InchesToPoints(14.375)
答案 1 :(得分:0)
答案 2 :(得分:0)
我使用自定义纸张尺寸。 不幸的是,Word 似乎将所有这些设置为 papersize 41 但是,至少在我的情况下,当我将 paperzize 设置为 41 时 然后将边距更改为特定大小,纸张大小名称正确
这对我有用
activedocument.PageSetup.PaperSize = 41
activedocument.PageSetup.PageWidth = InchesToPoints(4.25)
activedocument.PageSetup.Pageheight = InchesToPoints(5.5)