2015-10-05 157 views
1

我正在使用Excel for Mac 2011.使用Application.MacroOptions(macroName, macroDesc)以編程方式向宏添加說明非常簡單。但是,如何以編程方式閱讀該說明?有沒有辦法以編程方式讀取宏描述?

由於項目所需的原因,我正在重新設計一個包含編輯宏描述的可自定義選項的宏對話框。因此,我彈出了一個用戶可以爲宏輸入宏描述的內​​容,但是,我還希望能夠閱讀描述,以便能夠顯示當前描述是什麼(或者至少是當前描述的內容成爲用戶改變描述之後)。

+0

閱讀類似的過去的請求和功能文檔,似乎這是不可能的。 '.MacroOptions'被列爲一個方法,因此它不會返回任何輸出。潛在的解決方法是暗示http://stackoverflow.com/questions/8882204/displaying-macrooptions雖然無法確認它是否產生您的要求。問候, – nbayly

+0

對於目前的描述,你不能只輸出'macroDesc'? – findwindow

+0

findwindow,是的。但是,如果對話框打開(即使是一週後),我也需要能夠顯示用戶將來定義的描述。所以基本上......有一個窗口顯示當前描述,然後用戶更改描述(用舊描述更新文本框),最後下一次用戶運行宏時,當前描述顯示新更新的描述是什麼。根據nbayly的回覆和該帖子,這看起來並不樂觀。但是,我目前正在研究如何註冊表可以做到這一點。 –

回答

0

nbayly引用cpearsons網站here它提供可以訪問VBA文本的代碼。看起來在生產excel工作簿中啓用這種代碼有許多安全缺陷。

我有一個想法。也許你可以:

  1. 使用工作簿中的代碼創建一個隱藏工作表,其中包含所有宏及其描述的列表。 (然後禁用您添加的代碼和引用)。

  2. 時創建

新的宏這樣做以上你只需要使用Application.MacroOptions(宏名,macroDesc)寫的描述,你還留着你的對話,然後添加到這個列表工作表中的副本不需要閱讀。

只是一個想法,任何好處?

+0

這是一個非常好的建議,我不認爲誠實。我傾向於傾向於這種「便宜的解決方案」,但一開始很害羞,因爲我不知道我是否可以這樣做,因爲宏是在.xlam文件中的(加載項文件)。但是,這很可能並且應該起作用。在我嘗試之前,我想我想更多地查看註冊表,因爲我越看越他們,似乎他們會做得足夠好(僅適用於本地計算機)。 –

+0

1.當你說「我不確定你是否可以這樣做」時,我假定你指的是讓cpearson代碼工作?我對註冊管理機構知之甚少 - 2.這些是您提到的窗口註冊管理機構嗎? 3.如果您將工作簿複製到另一臺計算機,將打開工作簿填充Windows註冊表?嗯。如果確實如此,這聽起來像是一個好方法。 (隱藏的工作表將保存在xlam文件中)有問題:4.有多少宏? 5.手工創建隱藏工作表有多容易?) – HarveyFrench

+0

1.我指的是使用xlam文件的限制(我並不十分熟悉這個文件。2.像這樣:[link] (https://support.microsoft.com/en-us/kb/145679)3.我不確定,但無論如何我們都使用共享服務器,所以它應該沒關係。大約30-50取決於正在使用哪個工作簿/加載項。令人討厭的是我會寫一個腳本。 –

相關問題