2013-04-09 4 views
7

현재 몬테카를로 유형 시뮬레이션을 실행하는 Excel 통합 문서를 만들고 있습니다. 시뮬레이터 코드는 현재 Javascript에 있지만 VBA에 완전히 이식하는 것은 팀의이 언어에 대한 경험이 없으므로 드문 일입니다. 그래서, 잘 작동하는 WSC 파일에 javascript 구성 요소를 통합 할 수있었습니다. (아래의 예를 단순화.)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 

불행하게도,이 자바 스크립트 코드를 호스팅하거나 절대 경로를 업데이트 단순한 사용자에 의존하는 저를 필요로한다. 자체 포함 된 솔루션이 있습니까? 나는 사용자에게 전자 메일로 보낼 수있는 하나의 .xlsm 파일에 모든 것을 보관하는 것을 선호합니다.

+1

당신은 (너무 많은 코드가 아니라면) 셀에 JS를 저장 한 다음 사용자의 임시 폴더에 파일을 작성하는 것을 사용할 수 있습니다

은 여기 예제를 참조하십시오. –

+0

이 http://chandoo.org/wp/2010/05/06/data-tables-monte-carlo-simulations-in-excel-a-comprehensive-guide/? – deusxmach1na

+0

임시 폴더 아이디어는 작동해야하는 재미있는 아이디어입니다. 나는 그것을 조사해야 할 것이다. 최종 시뮬레이션 코드는 다소 복잡 할 수 있지만 몇 백 킬로바이트가 넘을 것으로 예상됩니다. Chandoo 자습서는 VBA 또는 JS가 아닌 순수 Excel을 사용합니다. 불행히도,이 시뮬레이션은 스프레드 시트로 모델링하기에는 너무 많은 분기점을 가지고 있습니다 (1 억 개의 셀을 필요로합니다). – Izomiac

답변

1

JS를 COM 구성 요소에 호스트하고 WSH를 사용하여 액세스 할 수 있어야합니다. How can I use JavaScript within an Excel macro?

+0

그게 내가 한 AFAIK (내 용어가 맞지 않을까?). 하지만이 방법을 사용하면 WSC를 등록하거나 예측 가능한 위치에 보관해야합니다. 나는 최종 사용자가 잘 할 줄 알지 못한다. – Izomiac