我目前正在創建一個運行蒙特卡羅類型模擬的Excel工作簿。儘管模擬器代碼目前使用Javascript,並且考慮到團隊對這種語言的經驗不足,所以完全移植到VBA似乎並非微不足道。所以,我已經能夠將JavaScript組件合併到一個WSC文件中,它運行良好。 (簡體下面的例子。)在Excel中使用Javascript
Sub Simulate()
Set ATPSim = GetObject("script:http://www.example.com/ATPSim.wsc")
'Set ATPSim = GetObject("script:C:\ATPSim.wsc")
Dim ParamOne As Integer
ParamOne = Range("B2").Value
Dim ParamTwo As Double
ParamTwo = Range("B3").Value
Dim ParamThree As Double
ParamThree = Range("B4").Value
Range("B1").Value = ATPSim.simulate(ParamOne, ParamTwo, ParamThree)
End Sub
不幸的是,這需要我主持的JavaScript代碼或依靠單純的用戶更新的絕對路徑。有獨立的解決方案嗎?我寧願將所有內容都放在一個.xlsm文件中,這個文件可以通過電子郵件發送給用戶。
你可以在JS存儲在電池(如果有沒有太多的代碼),然後用它來編寫出文件到用戶的臨時文件夾。 – 2013-04-09 20:23:47
像這樣http://chandoo.org/wp/2010/05/06/data-tables-monte-carlo-simulations-in-excel-a-comprehensive-guide/? – deusxmach1na 2013-04-09 20:23:49
臨時文件夾的想法是一個有趣的應該工作。我得看看它。最終的模擬代碼可能會相當複雜,但我懷疑它會超過幾百KB。 Chandoo教程使用純粹的Excel而不是VBA或JS。不幸的是,這種模擬有太多的分支點用電子表格進行建模(它需要類似於1億個單元的東西)。 – Izomiac 2013-04-11 05:18:44