标签: vbscript

捕获VBScript中的任何错误?

我有一个调用VBScript(.vbs)程序的批处理文件.调用它之后,我的批处理脚本会检查%errorlevel%.vbs程序是否失败.我可以通过.vbs程序中的退出代码发出故障信号WScript.Quit(1).

但是,我只能明确地这样做.如果发生一些意外的运行时错误,.vbs将退出并显示错误对话框,但是退出代码为零,因此我的批处理文件认为它已经超过!我该如何改变这种行为?

如果您正在考虑说,请使用on error goto,不要打扰...语法在常规VB中可用,但在VBScript中不可用.

windows vbscript batch-file

6
推荐指数
2
解决办法
6692
查看次数

如何确定动态数组是否未在VBScript中标注尺寸

假设我在VBScript中创建了一个动态数组

Dim myArray()
Run Code Online (Sandbox Code Playgroud)

稍后我如何检查这个数组从未被标注过尺寸?

Ubound(myArray) 'sub script out of range
Lbound(myArray) 'sub script out of range
IsEmpty(myArray) 'returns false
Run Code Online (Sandbox Code Playgroud)

arrays vbscript

6
推荐指数
1
解决办法
4175
查看次数

VBScript ISO8601

在VBScript中,是否FormatDateTime有ISO 8601支持?

如果没有,我将如何编写这样的功能呢?

例如:

Response.Write FormatAsISO8601(#05/04/2011#)

Function FormatAsISO8601(datetime)
    ...
End Function
Run Code Online (Sandbox Code Playgroud)

vbscript datetime iso8601 asp-classic

6
推荐指数
1
解决办法
6594
查看次数

查询SQL数据库时出现EOF和BOF错误

我正在尝试从vbs查询SQL数据库,但是当没有找到记录时,我收到错误

ADODB.Field:BOF或EOF为True,或者当前记录已被删除.请求的操作需要当前记录.

我想我需要使用IF NOT语句来捕获是否找不到记录,但我无法弄清楚它需要去哪里.

Do Until objFile.AtEndofStream
    strAppName = objFile.ReadLine

    ConnString="DRIVER={SQL Server};SERVER=aardvark002;UID=***;PWD=***;DATABASE=DEW_Users"
    SQL = "USE Win7AppData SELECT " & Chr(34) & strCountry & Chr(34) & " FROM AppsByCountry WHERE Application = '" & strAppName & "'"

    Set Connection = CreateObject("ADODB.Connection")
    Set Recordset = CreateObject("ADODB.Recordset")
    Connection.Open ConnString
    Recordset.Open SQL,Connection
    strApproval = Recordset(strCountry)
    If StrApproval = "YES" Then
        strApproval = "Approved"
    Else
        strApproval = "Denied"
    End If
    objExcel.Cells(intRow, 1).Value = strAppname 
    objExcel.Cells(intRow, 2).Value = strCountry
    objExcel.Cells(intRow, 3).Value = strApproval
    intRow = intRow …
Run Code Online (Sandbox Code Playgroud)

sql vbscript

6
推荐指数
1
解决办法
3万
查看次数

VBScript将无法从MSI文件正确执行

我有一个我写的VBScript需要从MSI文件执行.当我在Windows中独立运行脚本时,脚本会正确执行,但是,当我从安装程序运行它时,我会收到以下错误,如日志文件中所示:

Microsoft VBScript runtime error: object required: 'WScript', Line 3, Column 2
Run Code Online (Sandbox Code Playgroud)

脚本如下:

sub shell(cmd)
    Set objShell = WScript.CreateObject("WScript.Shell")

    objShell.Run("""" & cmd & """")
    Set objShell = Nothing
end sub

set objFSO = CreateObject("Scripting.FileSystemObject")

strcmd32 = "C:\Path\PathToExecutable.exe"
strcmd64 = "C:\Path\PathToExecutable64.exe"

if (objFSO.FileExists(strcmd32)) then
    shell(strcmd32)
else 
    shell(strcmd64)
end if

set objFSO = Nothing
Run Code Online (Sandbox Code Playgroud)

如前所述,如果我在安装程序的上下文之外运行它,则此脚本运行正常.安装项目类型是VS2010安装和部署包(这是客户希望使用的,我不能使用任何其他东西).有任何想法吗?

vbscript windows-installer setup-project

6
推荐指数
1
解决办法
8092
查看次数

经典的asp字符编码

我在经典的asp网站上遇到西班牙语字符的问题.用户可以在aspx页面上以表单的形式提交他们的姓名/地址.然后,aspx页面将ajax发布到经典的asp页面,它所做的全部内容存储在我们的Sql 2008 DB中.我可以在数据库中看到该字符未正确存储.例如,名字看起来Mª应该是它应该的位置.

当我读取该数据并将其显示在文本框中时,它仍然显示Mª.

我试过的事情:

  • <%@ Language=VBScript codepage=65001 %> <% Response.Charset="UTF-8" %>
  • 编码文件为UTF-8(使用notepad ++)

还有其他想法吗?我是否需要首先返回数据库并修复字符,或者在读取字符并显示它们时是否可以完成?

vbscript encoding utf-8 character-encoding asp-classic

6
推荐指数
2
解决办法
2万
查看次数

服务器对象错误'ASP 0177:800401f3'Server.CreateObject失败

我正在使用经典ASP.

Set theForm = Server.CreateObject("Persits.Upload")
theForm.OverwriteFiles = True
Run Code Online (Sandbox Code Playgroud)

运行上面的代码会产生错误:

Server object error 'ASP 0177 : 800401f3' Server.CreateObject Failed
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

vbscript asp-classic

6
推荐指数
1
解决办法
6万
查看次数

如何使用VBscript从值列表中获取唯一值?

假设Excel工作表有一个名为Student Names的列,并且该列具有重复值.说,

Student
=======

Arup
John
Mike
John
Lisa
Arup
Run Code Online (Sandbox Code Playgroud)

使用VBScript,我如何获得如下的唯一值?

Arup
John
Lisa
Mike
Run Code Online (Sandbox Code Playgroud)

vbscript

6
推荐指数
1
解决办法
2万
查看次数

Vbs脚本以检查文件夹是否存在然后运行文件

你好,我是新来的,我需要一个脚本来检查,如果存在一个文件夹,然后从该文件夹运行一个文件.如果没有,它应该将ZIP文件提取到特定位置.提前致谢!

filesystems vbscript

6
推荐指数
1
解决办法
6万
查看次数

Vb脚本无法在Chrome或Firefox上运行 - 仅适用于Internet Explorer

我在我的项目中编写了VBScript,但这只适用于IE而不是chrome/firefox.我的代码需要一个VBScript库.这段代码将如何在chrome和firefox上运行.我的代码是

<SCRIPT LANGUAGE="VBScript">
     Sub clickHandler()
         sP = Window.Event.SrcElement.ID
         If Left(sP, 1) = "M" Then
             Set oC = Document.All("C" & Mid(sP, 2))
             If oC.Style.Display = "none" Then
                 oC.Style.Display = ""
             Else
                 oC.Style.Display = "none"
             End If
             Set oC = Nothing
         End If
     End Sub
</SCRIPT>
Run Code Online (Sandbox Code Playgroud)

vbscript firefox internet-explorer google-chrome

6
推荐指数
1
解决办法
2万
查看次数