JScript로 잠시 쓴 일부 C# 코드를 번역하는 데 조금 어려움이 있습니다. 장기적으로 Excel 통합 문서를 열어야합니다 (이미 열려있는 경우). C#을 달리 JScript에서는 Excel 응용 프로그램에 핸들을 얻기 위해 겉만 번지르르 한 ActiveXObject
에 의존 : 당신이 API는 MSDN가 적용되는 모든 언어에서 매우 유사한 물체를 잡고 나면MS JScript에서 Excel의 이미 활성 인스턴스 가져 오기
var Excel = new ActiveXObject("Excel.Application");
. 그러나 은 ActiveXObject
을 사용하여 Excel의 완전히 새로운 인스턴스를 만드는 것으로 보입니다. 나는 다음과 같은 코드를 사용한다면
:
var Excel = new ActiveXObject("Excel.Application");
alert(Excel.ActiveSheet === null); // assume alert works as it does in Javascript
및 Excel이 이미 열려, 경고는 true
로 돌아올 것입니다.
말할 필요도없이,이 모든 통합 문서 경우 검사에서 저를 유지 : 또한, 모든 변수는 새로운 EXCEL.EXE 프로세스가 나타날 수 가비지 수집에 의해 포착되지 않은 new ActiveXObject("Excel.Application")
설정 이미 열려 있고 추악한 "이 읽기 전용을 열겠습니까?"라는 경고가 나타납니다. 이 주위에 어떤 방법이 있습니까?
유일하게 우려되는 "이 읽기 전용 읽기를 원하십니까?"라는 경고가 나오면 읽기 전용으로 통합 문서를 열면됩니다. –
@DanielCook 아, 문제는 편집 및 초점이 필요하다는 것입니다. 문서가 이미 열려있는 동안 읽기 전용으로 열면 실제로 통합 문서의 두 번째 복사본이 열립니다 (이미 편집 가능한 첫 번째 복사본과 두 번째 읽기 전용 복사본). 그렇지 않으면 (또는 경고를 억제하는 것) 훌륭한 해결책이 될 것입니다. –