为什么从Word文档调用宏时出现错误1004,而不是从Excel调用?

时间:2011-06-21 18:20:28

标签: excel vba ms-word automation

在Word文件中,我有一个打开Excel文件并在该文件中调用宏的宏。 (我正在使用VBA。)这是Word中的简单代码:

Set oExcelApp = CreateObject("Excel.Application")
Set oWorkbook = oExcelApp.workbooks.Open("C:\Documents and Settings\Eddy\Mina dokument\Insajt\Arbeten\Prido\Affärssystem\www\modules\mod_order\eco.xls")
oExcelApp.Visible = True
oExcelApp.Run "'ECO.xls'!Ritning"

Excel文件打开,宏运行,但后来我收到错误提示(翻译自瑞典语。):

运行时错误'1004'  无法为类PageSetup

输入PrintArea属性

如果我选择调试模式,则突出显示该行:

.PrintArea = "$A$1:$O$49;$Q$1:$AE$49;$Q$50:$AE$97;$AG$50:$AU$97"

整段代码是:

   If Sheets("Beräkningar").Cells(6, 2) = "4V" Then 
        With Sheets("Ritn").PageSetup 
            .PrintArea = "$A$1:$O$49;$Q$1:$AE$49;$Q$50:$AE$97;$AG$50:$AU$97" 
            .Zoom = 85 
        End With 
        Sheets("Ritn").PrintOut 
    End If

现在真的很奇怪。如果我在Excel文件中中止调用宏并只是手动调用相同的宏,它就像一个魅力。如果我手动打开Excel文件并启动宏,那么一切正常。

1 个答案:

答案 0 :(得分:0)

尝试使用逗号分隔列表而不是分号

.PrintArea = "$A$1:$O$49,$Q$1:$AE$49,$Q$50:$AE$97,$AG$50:$AU$97"