的幾個問題都拿出了最近涉及Application.Evaluate
方法從Excel VBA調用。舊的XLM宏語言也暴露了EVALUATE()
函數。兩者都可能非常有用。有人知道爲什麼公開的評估者可以處理一般表達式嗎?爲什麼Excel的「評估」方法是一般表達式評估器?
我自己的預感是,Excel需要給人們一種獲取字符串地址範圍的方法,並獲得命名公式的值,並且只需打開表達式評估程序的入口即可。 (對於VBA版本的幫助的確表達了它將「將Microsoft Excel名稱轉換爲對象或值」的目的)。但是,當然,您不需要評估任意表達式的能力就可以做到這一點。 (也就是說,Excel可以提供Name.Evaluate
方法或其他方法。)
Application.Evaluate
似乎有點......未完成。它的完整行爲沒有很好的記錄,並且存在許多怪癖和侷限性(正如Charles Williams在這裏所描述的:http://www.decisionmodels.com/calcsecretsh.htm)。
我想答案可能是簡單的「爲什麼不公開呢?」,但我很想知道的決策導致了此功能採取的是它的形式是什麼設計。否則,我會有興趣聽到其他預感。
所有的好點,但我想知道爲什麼讓人們評價任意表達式。我會稍微更新我的問題。 – jtolle 2010-04-15 19:38:43
你答案的最後部分確實指出了我的正確方向。評估簡單表達式非常有用,但是您不會編寫單獨的「簡單表達式評估器」並將其公開;你只是揭露了整個事情。不過,我想知道爲什麼粗糙的邊緣? – jtolle 2010-04-15 19:53:44
就這麼清楚,這個答案是在我編輯它之前的問題,即「爲什麼Excel會公開'評估'方法?」。這些都是很好的理由。 – jtolle 2010-04-15 20:02:07