2013-02-08 59 views
0

我試圖使用VBA Workbooks.open「編譯錯誤:參數不可選」

Workbooks.Open Filename:= [...] 

方法爲內訪問某些數據使用的Microsoft腳本程序參照各循環。我已經在其他幾個宏中成功完成了這個工作,但由於某種原因,在這個文件中的所有模塊中(我試過重新啓動機器等),我收到代碼上的消息「Compile error:Argument not optional」那條線。其他工作簿不會在那裏拋出錯誤。

我對這個問題的研究還沒有產生任何適合這種特殊情況的東西 - 我想我可能需要使用Set somewhere來強制VBE識別該對象?希望更有經驗的用戶能夠認識到這可能發生的一些經典情況。我現在唯一的線索是,VBE似乎沒有將「工作簿」識別爲關鍵字,因爲它不是首字母大寫。

任何幫助將不勝感激。

Ç

+0

顯然,你必須在工作簿別的東西叫'Workbooks'?一個變量,一個自定義類? – GSerg 2013-02-08 12:01:30

+0

GSerg, 感謝您的回覆。我已經將另一個函數導入到其他人構建的模塊中,以便修改代碼的元素以適合我的模塊。裏面是一個被稱爲......是的,你猜對了(「工作簿」)。 感謝您的幫助,希望下一個問題我會問一個更有趣的問題。 – user2054167 2013-02-08 14:59:09

+0

我看不到在哪裏標記爲已解決?會回來看看 – user2054167 2013-02-08 15:06:07

回答

1

顯然有別的東西在叫Workbooks(變量,類,函數)的工作簿,因爲它有更多的本地範圍內它得到的實際Workbooks對象之前找到。

你可以在一個更合格的方式重命名有問題的對象或訪問Workbooks

Application.Workbooks.Open Filename:= [...] 
+1

P.S.對不起,我的快速編輯炸燬了對另一個問題的答案。偉大的思想思想和所有這一切。令人驚訝的是,這些查詢有多相似。 – ErikE 2013-02-12 00:00:57

+0

@ErikE NP,我其實也比潛在的代表更欣賞相似性 – GSerg 2013-02-12 00:10:23