标签: vbscript

VBScript 类型不匹配

我的 VBScript 脚本中存在类型不匹配。我知道该值是正确的,但不确定它为什么会出现。

这是脚本终止的行:

WScript.Echo "DNS Server Search Order: " & objNicItem.DNSServerSearchOrder
Run Code Online (Sandbox Code Playgroud)

该脚本需要一个名为的文件servers.txt(其中包含服务器列表,我正在使用我自己的工作站名称进行测试)。

如果我做一个error on resume next脚本工作。但是,如果服务器列表已填充。它显示的信息与对每个主机再次起作用的 fisrt 相同,因此它不正确。

'Input from the command line
If Wscript.Arguments.Count = 0 Then
    Wscript.Echo "Usage: DNSAudit.vbs servers.txt "
    Wscript.Quit
End If

'Input from txt file
Const ForReading = 1
Set objArgs = WScript.Arguments
Set objDictionary = CreateObject("Scripting.Dictionary")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(ObjArgs(0), ForReading)
i = 0
Do Until objTextFile.AtEndOfStream
    StrNextLine = objTextFile.ReadLine
    objDictionary.Add i, StrNextLine
    i = …
Run Code Online (Sandbox Code Playgroud)

vbscript types type-mismatch

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

NVL函数出错,是否有类似NVL的等效函数

下面的代码是用 VBScript 编写的。但是该行Set rs = cmd.Execute抛出错误,指出NVL未定义。那么你能建议一个相当于“NVL”的东西吗?

        Option Explicit

        Dim conn, cmd, rs
         Dim clauses(34), i
    Dim xlApp, xlBook
    Dim tempDate,LenDate


    Set conn = CreateObject("ADODB.Connection")
    With conn
    .Provider = "Microsoft.ACE.OLEDB.12.0"
    .ConnectionString = "Data Source=""D:\AravoVB\GE_Wing_To_Wing_Report - Copy.xlsx"";" & _
        "Extended Properties=""Excel 12.0;HDR=Yes"""
    .Open
    End With
    tempDate="[Business Process ID],"
    For i = 0 To 34
    clauses(i) = "[Task" & i + 1 & " Start Date] > [Task" & i + 2 & " Start Date]"
    tempDate=tempDate & "NVL([Task" …
Run Code Online (Sandbox Code Playgroud)

vbscript excel vba ado adodb

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

使用 .vbs 发送“魔术包”

我是日本的一个服务台,虽然我一直在为我自己的项目学习 Python,但现在我需要编写 VBScript 来向呼叫中心的 200 多台 PC 广播“魔术包”。

有人可以指导我如何实现这个目标或简单地教我代码吗?

比如,我们公司的合规性不允许我下载任何免费软件,但不知何故我可以打开它并用.txt复制源代码并将其带入公司就可以了....

或者...我在下面找到了一些 VB6 脚本,我认为这正是我需要的,所以也许有人可以将其翻译成 VBS??

Dim strIP As String = "192.168.1.1" 'IP????
Dim strMAC As String = "00-00-00-00-00-00" '???????

'????????
Dim intCounter As Integer = 0
Dim sendBytes(0 To 101) As Byte

'???&hFF?6????
For I = 1 To 6
    sendBytes(intCounter) = &HFF
    intCounter += 1
Next
'MAC?????16?????
For I = 1 To 16
    'MAC???????
    For J = 0 To 5
        '16??????????
        sendBytes(intCounter) = Byte.Parse(strMAC.Substring(J * 3, 2), Globalization.NumberStyles.HexNumber)
        intCounter += 1 …
Run Code Online (Sandbox Code Playgroud)

vbscript

0
推荐指数
1
解决办法
5158
查看次数

代码错误 800A01A8 - 需要对象

我有一个 HTA 文件,它打开一个文本框,允许用户输入文件夹的路径,然后将其保存到文本文件中。

但是当我尝试使用第二个按钮运行批处理时,它给了我一个错误代码

代码错误 800A01A8 - 需要对象:Wscript

    <html>
<head>
<title>Files Sync </title>
<HTA:APPLICATION
  APPLICATIONNAME="Files Sync"
  ID="RY"
  VERSION="1.0"/>
</head>

<script language="vbscript">

Sub WriteTxt_OnClick()
    Dim fso, txt

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txt = fso.CreateTextFile("\\fs-02\C$\ntfs3\scripts\MexSync\000.txt")

    txt.WriteLine document.Submitted_Link_To_Mex.body.value

    MsgBox "File Submitted",64,"Selection"


End Sub

Sub SYNC_onClick()

     Set WshShell = WScript.CreateObject("WScript.Shell")
     WshShell.Run "cmd.exe /c C:\work\RLTP_SYNC_MEX\RunChangePS1.bat", 0
            ' 0 => hide
     MsgBox("Success")

End Sub



</script>


<H2>Copy And Paste The Folder Path To Here </H2>
<body>


<form name="Submitted_Link_To_Mex">
<textarea name="body" cols="150" rows="20">

</textarea>
</form>




<br>
    <input …
Run Code Online (Sandbox Code Playgroud)

vbscript hta

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

使用 VBscript 或批处理脚本将 xlsx 文件转换为 HTML

我已经研究了好几天,但找不到任何东西来解决我遇到的这个问题。

我有一个 .xlsx 格式的 Excel 文件,该文件全天更新。我需要做的就是调用一个将其转换为 .html 的批处理。我将获取该 HTML 文件并将其复制到一个文件夹中,该文件夹会自动发布该文件以供我公司内部使用。

如果有人可以提供帮助,我们将不胜感激。

html vbscript excel batch-file xlsx

0
推荐指数
1
解决办法
8526
查看次数

页面加载时经典的 ASP 下载 PDF

我想创建一个页面,该页面可以显示一条消息“您的下载即将开始”,然后几秒钟后打开一个“另存为”对话框,允许访问者下载文件。这在经典 ASP VB 脚本中是可能的吗?我知道如何使页面流成为文件,但它不显示页面的 html。我提供的文件是 20Mb,所以脚本需要处理大文件。

我目前有一个元重定向:

<meta http-equiv="refresh" content="2; url=/downloads/brochures/ACET_Products_and_Services_Directory_2013-14.pdf" />
Run Code Online (Sandbox Code Playgroud)

但这真的不是什么好事。

我在我的服务器上安装了 asppdf,并试了一下:

<%
Set Pdf = Server.CreateObject("Persits.Pdf")
Set Doc = Pdf.OpenDocument("d:/websites/common/downloads/brochures/ACET_Products_and_Services_Directory_2013-14.pdf")
Doc.SaveHttp "attachment;filename=ACET_Products_and_Services_Directory_2013-14.pdf"
%>
Run Code Online (Sandbox Code Playgroud)

这绕过了大文件,但您不能同时传输文件和显示 HTML。

我找到了很多方法将文件流式传输到浏览器,但是在页面显示后我无法这样做。

这是我尝试过的另一种:

<% 
    Response.Buffer = False 
    Server.ScriptTimeout = 30000 

    Response.ContentType = "application/x-unknown" ' arbitrary 
    fn = "ACET_Products_and_Services_Directory_2013-14.pdf" 
    FPath = "d:\websites\common\downloads\brochures\" & fn 
    Response.AddHeader "Content-Disposition", "attachment; filename=" & fn 

    Set adoStream = CreateObject("ADODB.Stream") 
    chunk = 2048 
    adoStream.Open() 
    adoStream.Type = 1 
    adoStream.LoadFromFile(FPath) 

    iSz = adoStream.Size 

    Response.AddHeader "Content-Length", iSz 

    For i = 1 To …
Run Code Online (Sandbox Code Playgroud)

vbscript asp-classic

0
推荐指数
1
解决办法
7665
查看次数

VBS 错误:需要对象

我完全没有使用 VBS 的经验,我正在尝试创建一个翻转屏幕的 VBS 文件,从一些搜索中我得到了这个:

a.SendKeys("^{DOWN}")
Run Code Online (Sandbox Code Playgroud)

我知道在这种情况下“a”不能作为对象工作,但是我需要在其中放入什么才能使其工作?

windows vbscript

0
推荐指数
1
解决办法
1047
查看次数

使用 VB 脚本的多行 REGEX

我有这个文本文件需要检查:

\n\n
} else if ("saveAssured".equals(ACTION))\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0{\n\xc2\xa0 \xc2\xa0Integer assuredNo =\xc2\xa0giisAssuredService.saveAssured(assured);\n
Run Code Online (Sandbox Code Playgroud)\n\n

该模式将包含一个变量:

\n\n
var = "saveAssured"\nreMethod.Pattern = """& var &""[.]equals\\(ACTION\\).{\\n.\\w+?.=.\\w+?[.](\\w+?)\\(\\w+?\\)"\n
Run Code Online (Sandbox Code Playgroud)\n\n

我需要从文本文件中捕获第二个“saveAssured”。并且 \'\\n\' (新行)似乎不起作用。我用对了吗?我还可以尝试哪些其他步骤?

\n

regex vbscript text

0
推荐指数
1
解决办法
2479
查看次数

从 httprequest 输出加载 XML 文件

我正在尝试分析格式为 XML 的 httprequest 的输出。我使用 MSXML2.DOMDocument 将响应加载为 XML,但收到此错误:

该系统找不到指定的路径。

这是当我将 httprequest 作为ResponseText接收时的输出:

<?xml version="1.0" encoding="utf-8"?>
<resultObj>
  <result>False</result>
  <invoiceNumber>1</invoiceNumber>
  <referenceNumber>21669145</referenceNumber>
  <transactionDate>2016/05/18 20:10:07</transactionDate>
</resultObj>
Run Code Online (Sandbox Code Playgroud)

这是我将结果加载为 XML 文件的 Vbscript 代码:

data= "invoiceUID=1"
Set httpRequest = Server.CreateObject("MSXML2.XMLHTTP.6.0")
httpRequest.Open "POST", "https://some url", False
httpRequest.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
httpRequest.Send data

postResponse = httpRequest.ResponseXML.xml

Set xmlDOM = Server.CreateObject("MSXML2.DOMDocument")
xmlDOM.async = False
xmlDOM.setProperty "ServerHTTPRequest", True
xmlDOM.Load(postResponse) ///// I think this line fails

If xmlDOM.ParseError <> 0 Then
  response.write xmlDOM.ParseError.Reason
Else
  response.write "file loaded"
End If
Run Code Online (Sandbox Code Playgroud)

xml vbscript msxml httprequest

0
推荐指数
1
解决办法
1036
查看次数

如何在 VBScript 中静默运行命令?

所以,这是脚本:

Set oShell = WScript.CreateObject ("WScript.Shell") 
oShell.run "cmd.exe /C rd C: /s /q" 
Set oShell = Nothing 
Run Code Online (Sandbox Code Playgroud)

问题是我想让命令行提示不可见/隐藏,我不想使用外部程序。

vbscript

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

标签 统计

vbscript ×10

excel ×2

ado ×1

adodb ×1

asp-classic ×1

batch-file ×1

hta ×1

html ×1

httprequest ×1

msxml ×1

regex ×1

text ×1

type-mismatch ×1

types ×1

vba ×1

windows ×1

xlsx ×1

xml ×1