2017-12-06 5 views
0

Vba에서 스크립트를 작성하여 Word에서 보고서를 비교할 수 있으며 버튼을 클릭 한 후 Vba 스크립트를 실행할 수있는 HTML 페이지를 작성하고 싶습니다.HTML5 페이지에서 Vba 스크립트 호출하기

시도 할 때 Firefox 및 Chrome에서 "ReferenceError : myFunction is defined"메시지가 나타납니다. IE에서 똑같이 해보면 "myFunction '이 정의되지 않았습니다."오류가 발생합니다.

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Reports Comparison</title> 
    <script type="text/vbscript" src="myScript.vbs"></script> 
    </head> 
    <body> 
    <input type="button" value="Test" onClick="myFunction()"> 
    </body> 
</html> 

myFunction이 올바르게 파일 myScript.vbs에 정의되어

Sub myFunction() 
    Dim strFolderA As String 
    Dim strFolderB As String 
    Dim strFolderC As String 
    Dim strFileSpec As String 
    Dim strFileName As String 
    Dim objDocA As Word.Document 
    Dim objDocB As Word.Document 
    Dim objDocC As Word.Document 
    strFolderA = InputBox("Enter path to base documents:") 
    strFolderB = InputBox("Enter path to new documents:") 
    strFolderC = InputBox("Enter path for document comparisons to be saved:") 
    strFileSpec = "*.docx" 
    strFileName = Dir(strFolderA & strFileSpec) 
    Do While strFileName <> vbNullString 
     Set objDocA = Documents.Open(strFolderA & strFileName) 
     Set objDocB = Documents.Open(strFolderB & strFileName) 
     Application.CompareDocuments _ 
      OriginalDocument:=objDocA, _ 
      RevisedDocument:=objDocB, _ 
      Destination:=wdCompareDestinationNew 
     objDocA.Close 
     objDocB.Close 
     Set objDocC = ActiveDocument 
     objDocC.SaveAs FileName:=strFolderC & strFileName 
     objDocC.Close SaveChanges:=False 
     strFileName = Dir 
    Loop 
    Set objDocA = Nothing 
    Set objDocB = Nothing 
End Sub 

당신은 그렇게 좀 도와 주 시겠어요?

감사합니다.

답변

0

VBScript는 Internet Explorer에서만 사용할 수 있습니다. 그리고 기본적으로 작동하지 않을지라도 "엔터프라이즈 모드"를 사용하여 브라우저와 파일 시스템에 대한 액세스를 허용하는 하위 호환성 및 다양한 플래그를 활성화해야합니다. Word은 여기에서 정의되지 않으므로 추가 작업을하지 않고도 이와 같은 Word 문서로 작업 할 수 없습니다.

대신에 활용할 수있는 새로운 Javascript API가 있지만 브라우저 컨텍스트에서는 사용할 수 없습니다. 하지만 단어 자체에 기능을 추가 할 수 있습니다.

https://dev.office.com/reference/add-ins/javascript-api-for-office