使用自定义边距创建新的Word文档

时间:2015-01-22 08:53:27

标签: vba ms-word word-vba

我想创建一个自定义页边距设置的新word文档。我已经编写了这段代码,但似乎在WITH语句中出现了问题。不太确定为什么会发生这种情况。

 Sub test()

    Dim docCreate As Document

    Set docCreate = Documents.Add

    With docCreate.PageSetup
        .TopMargin = WordApp.InchesToPoints(0.6)
        .BottomMargin = WordApp.InchesToPoints(0.6)
        .LeftMargin = WordApp.InchesToPoints(0.6)
        .RightMargin = WordApp.InchesToPoints(0.6)
    End With

    docCreate.Range.Paste

End Sub

1 个答案:

答案 0 :(得分:3)

试试这个:

Sub test2()

    Dim docCreate As Document

    Set docCreate = Documents.Add

    With docCreate.PageSetup
        .TopMargin = Application.InchesToPoints(0.6)
        .BottomMargin = Application.InchesToPoints(0.6)
        .LeftMargin = Application.InchesToPoints(0.6)
        .RightMargin = Application.InchesToPoints(0.6)
    End With

    docCreate.Range.Paste


End Sub

问题是WordApp未定义,可能来自您复制粘贴此代码段的位置。您可以定义它(Set wordApp = Application如果您想要当前的那个,或Set wordApp = CreateObject("Word.Application")如果您想要一个新的),或者您只是像我上面那样使用对象Application(但您假设,像这样,你正在处理当前运行的Word应用程序)。