2012-07-14 2 views
0

그래, 다시 생각해 봅시다. 보통 HTML 페이지를 사용하는 대신 HTA (인트라넷 응용 프로그램 용)에서이 코드를 사용하고 있습니다. 내가개체가 JavaScript의이 속성이나 메서드를 지원하지 않습니다.

HTML 페이지 사용) activexobjects를 통해 (내 파일을 닫습니다 어디 (24) (: : 내 코드는 내가 오류 메시지가 "제출"때 ... "개체 행에서이 속성 또는 메서드를 지원하지 않습니다

<input name="Button1" type="button" value="Submit" onclick="getFormContent()" /> 

내 자바 스크립트 파일 (외부의 .js 페이지) :

// Global Variables First! 
var AllFormContent 
var ManagerValue 
function managerValueTrue(ManagerValue) { 
ManagerValue = "Yes" 
} 
function managerValueFalse(ManagerValue) { 
ManagerValue = "No" 
} 

function getFormContent(ManagerValue) { 
var Mudkips = document.getElementById('ManagerName'); 
var ManagerName = Mudkips.options[Mudkips.selectedIndex].text; 
var RandomText = document.getElementById('RandomText').value; 
var Comment = document.getElementById('Comments').value; 
AllFormContent = ManagerName + ", " + ManagerValue + ", " + RandomText + ", " + Comments 
writeMyFile(); 
} 

function writeMyFile(AllFormContent) { 
var filesys = new ActiveXObject("Scripting.FileSystemObject"); 
var filetxt = filesys.OpenTextFile("C:\\MyFile.csv", 8) ; 
filetxt.WriteLine(AllFormContent); 
filetxt.Close; 
} 

"LineForm 24"는 "AllFormContent"또는 이전 줄과 관련이 있다고 생각하지만 "filetext.close"를 참조합니까? 내가 코드를 테스트 해 봤는데, writeMyFile 함수에 도달했다는 것을 알았습니다. ActiveXObject가 잘 작동한다는 것을 알았습니다. 여기에 나와있는 것에 대한 아이디어가 있습니까? 감사 :]

+2

대괄호를 추가 할 필요가 없습니까? ie filetxt.Close() - 죄송합니다. 이전에는 사용하지 않으 셨습니다. – SmokeyPHP

+0

믿을 수 없습니다. 전에도 보았습니다 .Close가 CSV 스트림을 닫는 중입니다. \ – LeviTheDegu

+0

그냥 고쳐주세요. 'close' 메소드를 사용하려면 :'filetext.Close()'. – Teemu

답변

0

의견에서 제안했지만 대답하지 않은 것처럼 writeMyFile()에서 닫기에 괄호를 추가하십시오.

function writeMyFile(AllFormContent) { 
    var filesys = new ActiveXObject("Scripting.FileSystemObject"); 
    var filetxt = filesys.OpenTextFile("C:\\MyFile.csv", 8) ; 
    filetxt.WriteLine(AllFormContent); 
    filetxt.Close(); 
} 

Close는 VBScript를위한 하위 프로 시저 등의 이상이있는 동안 자바 스크립트에서 Scripting.FileSystemObject하는 방법입니다. JavaScript에서 함수와 메서드를 호출하려면 괄호로 참조를 닫아야합니다. VBScript에서는 Sub을 괄호로 묶어 호출 할 필요가 없으며 복수로 params을 입력하면 오류가 발생합니다 (생각하십니까?).

JScript 및 WScript 용 ActiveXObject에 대한 설명서가 많지 않으므로 대부분이 VBScript에서 다루어 지므로이 부분에 혼란이있을 수 있습니다.