Tôi hiện đang tạo sổ làm việc Excel chạy mô phỏng kiểu Monte Carlo. Mã giả lập hiện đang trong Javascript mặc dù, và chuyển hoàn toàn sang VBA dường như không tầm thường do sự thiếu kinh nghiệm của nhóm với ngôn ngữ này. Vì vậy, tôi đã có thể kết hợp các thành phần javascript vào một tệp WSC, hoạt động tốt. (Ví dụ đơn giản dưới đây.)Sử dụng Javascript trong Excel
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
Thật không may, điều này yêu cầu tôi lưu trữ mã javascript hoặc dựa vào người dùng không phức tạp để cập nhật đường dẫn tuyệt đối. Có một giải pháp khép kín? Tôi muốn giữ mọi thứ trong một tệp .xlsm có thể được gửi qua email cho người dùng.
Bạn có thể lưu trữ các js trong một tế bào (nếu có không quá nhiều code) và sau đó sử dụng để viết ra một tập tin vào thư mục tạm của người dùng. –
Giống như http://chandoo.org/wp/2010/05/06/data-tables-monte-carlo-simulations-in-excel-a-comprehensive-guide/ này? – deusxmach1na
Ý tưởng thư mục tạm thời là một ý tưởng thú vị nên hoạt động. Tôi sẽ phải nhìn vào nó. Mã mô phỏng cuối cùng có thể khá phức tạp, nhưng tôi nghi ngờ nó sẽ vượt quá vài trăm KB. Hướng dẫn Chandoo sử dụng excel thuần túy hơn là VBA hoặc JS. Thật không may, mô phỏng này có quá nhiều điểm chi nhánh để mô hình hóa với một bảng tính (nó đòi hỏi một cái gì đó giống như 100 triệu ô). – Izomiac