2011-06-21 48 views
2

在Word文件中,我有一個打開Excel文件並調用該文件中的宏的宏。 (我使用VBA)。這是從Word的簡單代碼:爲什麼我從Word文檔調用宏而不是從Excel中調用宏時出現錯誤1004?

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」 printArea中屬性不能爲類輸入,PAGESETUP

如果我選擇調試模式下,該行突出顯示:

.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文件並啓動宏,則一切正常。

回答

0

嘗試使用逗號分隔的列表,而不是分號

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

值得一試的,但看起來分離適合的語言環境。 (根據OP,直接調用時會工作)。 –