将java脚本转换为vb脚本

Conversion of java script to vb script

本文关键字:脚本 vb 转换 java      更新时间:2023-09-26

我已经尽可能多地尝试将代码从javascript更改为vbscript。。。如果换衣服时出错,你能帮我吗。。

     <script  language='vbscript' type='text/vbscript'>
Dim myVar = "";
function auto(data) 
Dim path = '<%=session.getAttribute("PATH")%>' ;
   Dim DocId = '<%=session.getAttribute("REQDOCUMENTID")%>' ;
   Dim extension = '<%=session.getAttribute("FILEEXTN")%>' ;
   Dim userId = '<%=session.getAttribute("REQUSERID")%>' ;
   Dim apolloenv = '<%=session.getAttribute("REQAPOLLOENV")%>' ;
   if(extension != '') Then
          Dim ext = LCase(extension);
          Dim fso  = CreateObject("Scripting.FileSystemObject");
          if (fso.FolderExists(path)) Then                                   
                 path = path & DocId & "." & ext;
                 document.ViewONE.save(path);
                 myVar=window.setInterval(Call checkFile(path,ext),1000);      
          End If
          if(DocId <> 'null' AND apolloenv <> 'null' AND userId <> 'null') Then
                 getNote(DocId,apolloenv,userId,"autolaunch executed");
          End If   
   End If
 End Function
    function checkFile(path,ext)
   set fso  = CreateObject("Scripting.FileSystemObject");
   if(fso.FileExists(path)) Then
          Call openfile(ext, path);
          window.clearInterval(myVar);
End If
End Function


function openfile(ext, path) 
   if(ext == 'docx' || ext == 'doc'|| ext == 'docm') Then
          Dim oApplication = CreateObject("Word.Application");
          oApplication.Visible = true;
          oApplication.Documents.Open(path, false, 0);
   ElseIf (ext == 'xls'||ext == 'xlsx' ||ext == 'xlsm' ||ext == 'xlsb' ||ext == 'xltx' ||ext == 'xltm') Then
          Dim objExcel = CreateObject("Excel.Application");
          objExcel.Visible = true;
          objExcel.Workbooks.Open(path, false, 0); 
   ElseIf  (ext == 'pptx'|| ext == 'ppt' || ext == 'pptm') Then
          Dim objPPT = CreateObject("PowerPoint.Application");
          objPPT.Visible = true;
          objPPT.Presentations.Open(path, false, 0); 
   ElseIf (ext == 'msg' || ext == 'eml') Then
          WSH = CreateObject("WScript.Shell");
          WSH.run("file://"+path, 1);
   ElseIf (ext == 'jpg' || ext == 'tif' || ext == 'png' || ext == 'bmp' || ext == 'mdi' || ext == 'gif') Then
          imageWSH = CreateObject("WScript.Shell");
          imageWSH.run("file://"+path, 1);
   ElseIf (ext == 'txt') Then
          txtwshShell = CreateObject("WScript.Shell");
          txtwshShell.run("file://"+path, 1);
   ElseIf (ext == 'pdf') Then
          wshShell = CreateObject("WScript.Shell");
          wshShell.run("file://"+path, 1);
   Else
       msgbox "Please use the right click AutoLaunch option available in Apollo as this document type will not be supported by daejaviewer's AutoLaunch."
End If       
End Function

我不确定javascript中的getNote,Document,session.attribute函数是否将其更改为vbscript

在Javascript中,您可以在一条语句中声明和初始化变量:

var x = "whatever";

在VBScript中,您需要一个Dim和一个作业:

Dim x : x = "whatever"

在Javascript中,语句以";"结尾;VBScript不使用语句终止符-

window.clearInterval(myVar);

应该引发语法错误。附加示例:

oApplication.Documents.Open(path, false, 0);
==>
oApplication.Documents.Open path, false, 0

Javascript到处都需要param list();VBScript在调用(子/函数/方法作为)子时不使用参数列表()。

window.clearInterval myVar

是上面调用的VBScript。

通过VBScript操作员的文档来制作类似的行

if(ext == 'docx' || ext == 'doc'|| ext == 'docm') Then

体面。

字符串文字分隔符是VBScript中的",而不是Javascript中的"(或")。要检查Null(而不是字符串文字"Null"),您需要IsNull()函数。所以

DocId <> 'null'

这是一个双重错误。

VBScript在将对象分配给变量时需要Set

Dim oApplication = CreateObject("Word.Application");
==>
Dim oApplication : Set oApplication = CreateObject("Word.Application")

可能会有更多的错误;我建议你纠正指出的问题,并发布一个更好的修订版,以获得对剩余错误的帮助。