Excel VBA,在Word中设置自定义页面大小

Excel VBA,在Word中设置自定义页面大小,vba,excel,ms-word,Vba,Excel,Ms Word,有点困难。。。我在Excel中有VBA代码,可以打开MS Word并将页面大小更改为自定义大小。我不能让它工作,我用谷歌搜索了一些不同的方法来尝试,我不经常这样做,我想我错过了一些东西 Dim objWord Dim objDoc Dim objRange Dim objSelection Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Add Set objSelection = o

有点困难。。。我在Excel中有VBA代码,可以打开MS 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
Dim objWord
Dim objDoc
模糊对象范围
黯淡的选举
设置objWord=CreateObject(“Word.Application”)
设置objDoc=objWord.Documents.Add
设置objSelection=objWord.Selection
objDoc.PageSetup.PageWidth=InchesToPoints(11.5)
objDoc.PageSetup.PageWidth=英寸设定点(14.375)
objWord.Visible=True
此时,我尝试了如上所示的“objDoc.PageSetup.PageWidth”,也尝试了“objSelection.PageSetup.PageWidth”和“objWord.ActiveDocument.PageSetup.PageWidth”-但它只是不断打开一个8.5英寸x 11英寸的信纸文档。

这是否有效:

objDoc.PageSetup.PaperSize = xlPaperA4
内置纸张尺寸可在此处找到:

其中一个可能接近您的自定义尺寸。

这对我来说很合适

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)

您可以像下面的命令一样设置自定义页面大小

objDoc.PageSetup.PaperSize = 9
如果要将字号设置为A4,则应将其设置为9。 如果要将字号设置为A5,则应将其设置为11

枚举

  • 9=XLA4
  • 11=xla5
我使用自定义纸张尺寸。 不幸的是Word似乎将所有这些设置为纸张大小41 然而,至少在我的例子中,当我将paperzize设置为41时 然后将页边距更改为特定大小,纸张大小名称正确无误

这对我有用

    activedocument.PageSetup.PaperSize = 41
    activedocument.PageSetup.PageWidth = InchesToPoints(4.25)
    activedocument.PageSetup.Pageheight = InchesToPoints(5.5)

你有错误吗?嗨,没有错误。它只是以字母页面大小打开。使用
objDoc.PageSetup.PageWidth=objWord.InchesToPoints(11.5)
对我来说很有用。。。非常感谢@LeahW如果您的问题已解决,请务必单击解决问题的答案旁边的绿色复选标记。这会将其标记为已解决,以便其他人知道。