标签: vbscript

VBScript 问题

我正在尝试在 vbscript 中运行以下代码:

ReturnCode = WshShell.Run("C:\Program Files\Virtutech\Simics 4.2\Simics 4.2.9\x86-win32\bin\simics.exe", 0, True)
Run Code Online (Sandbox Code Playgroud)

当我运行此脚本时出现错误,提示找不到该文件。我认为问题出在路径中的空格,但我不想将此应用程序重新安装到其他路径。我该如何解决这个问题?

编辑:另外,我需要能够在可执行文件之后放置参数。参数是在引号内还是在引号外?

vbscript

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

用于在 Word 文档中查找和替换文本的 VB 脚本

我对 VB 脚本编写没有太多经验,但我正在尝试编写一些东西,在 Word 文档中搜索特定字符串,将其替换为我指定的任何内容,然后在标签打印机上打印出来。

它可以很好地完成第一次替换,但不能完成第二次替换。有人可以看看我可能做错了什么吗?

Option Explicit

Dim WordApp
Dim WordDoc
Dim strReadCompName
Dim strReadCompSN

Set WordApp = CreateObject("Word.Application")
WordApp.Visible = TRUE

WordApp.Documents.Open("C:\LabelTemplate.doc")
WordApp.Documents("LabelTemplate.doc").Activate

Set WordDoc = WordApp.ActiveDocument

strReadCompName = InputBox("Enter Computer Name", "Name")
strReadCompSN = InputBox("Enter Serial Number", "Serial")

With WordApp.Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .MatchWholeWord = TRUE
    .Text = "nametext"
    .Execute ,,,,,,,,,strReadCompName
End With

With WordApp.Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .MatchWholeWord = TRUE
    .Text = "serialtext"
    .Execute ,,,,,,,,,strReadCompSN
End With

WordDoc.PrintOut()
WordDoc.Saved = TRUE
WordApp.Quit
Run Code Online (Sandbox Code Playgroud)

vbscript ms-word

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

如何查找和删除文本文件中的控制字符

我有一个 .txt 文件,其中包含与电子邮件地址关联的控制字符。@\xc3\xa3gmail.com 上有一些内容。可能有此控制字符的多个实例以及其他控制字符的多个实例。有没有办法先找到它们然后将其删除?

\n

c# unix windows vbscript batch-file

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

VBScript 和 CreateObject 问题

如果是关于 VBScript,我并没有真正进行过实验,但我有机会通过论坛阅读了很多内容,实际上昨天我帮助某人检查了为什么他的脚本不起作用,并为他找到了解决方案。因此,我在本地修改了这个脚本,并按照我的方式进行了操作,它工作了,但在另一方,对象之一无法初始化。

受罪线就像

    Set WshNet = WScript.CreateObject("WScript.Network")
Run Code Online (Sandbox Code Playgroud)

另一个人被告知删除 WScript 的东西,它似乎在提问者方面起作用。

我首先认为这可能与我这边使用 Wscript.exe 和那个人那边使用 CScript.exe 有关(我的假设),但我在命令行中检查了这一点,无论如何它都有效。那么,我想知道和理解的是为什么会发生这种情况?为什么调用 CreateObject 的脚本可以与“WScript”一起使用。但在另一个系统上,您需要删除该“WScript”。让它继续工作?感谢您的时间和答复。;) 此致。

vbscript createobject

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

在 Excel 中将数字格式化为文本

构建 Excel 电子表格是一个经典的 asp 应用程序。现在的问题是,其中一列被 Excel 自动格式化为数字,而实际上它应该是文本,因此它删除了老板想要保留的前导零。我已经完成了一些网络搜索,您应该能够在字符串中预先附加一个撇号,强制 excel 将其显示为文本:

If isNumeric(val) Then
response.write "'" & val
Else
response.write val
End If
Run Code Online (Sandbox Code Playgroud)

太棒了,但是 Excel 现在显示这些列时带有前导撇号!从我读到的内容来看,前导撇号应该被隐藏,并且只能被 Excel 用作格式,我做错了什么?

谢谢。

vbscript asp-classic

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

如何在正则表达式中插入回车替换

我想在正则表达式中插入换行符替换什么字段。

例如:

Find With: (xyxyxy.*[\r\n]+)(yzyzyz)

Replace with: $1xyxyxy\r\nxyxyxy

also tried replace with: $1xyxyxy$r$nxyxyxy
Run Code Online (Sandbox Code Playgroud)

他们似乎都没有工作。

问题是通过正则表达式替换插入回车和/或新行的口头禅是什么。

javascript regex vbscript

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

类型不匹配错误:'Ubound'

我需要帮助解决一个非常烦人的问题,我从今天早上 8 点开始就一直在研究这个问题。在调试经典的 asp 错误方面,我绝不是专业人士。但是,我知道的足以弄清楚发生了什么,但不完全确定如何处理/根除此问题:

问题:sql 查询不会返回任何会导致我的数组为空的内容,这给了我标题中指定的错误。

代码:

  233  while not rs.eof
  234   varCampArray = split(trim(rs("Notes")) & "", ";")
  235       If ubound(varCampArray) > 0 Then
  236           varCampArray2 = split(varCampArray(0) & "", "=")
  237       End If
  238       if ubound(varCampArray2) > 0 then
  254     wend
Run Code Online (Sandbox Code Playgroud)

第 239-253 行无关紧要(只是基于数组和另一个查询的计算),只是想添加 'wend' 语句,所以没有人认为它没有正确编码。

额外信息:这是针对我们的自定义 vb 应用程序,对于这个特定的 asp 文件,用户转到 Report>Daily>Summary,然后用户从那里选择某一天以获取当天的财务摘要。如果我今天运行报告,它会运行并得到数字,如果我在本月 26 日运行它,它会运行并没有错误地执行。如果我昨天(4/27/2016)运行它,我会在我们的 vb 应用程序的 reportViewer 中得到这个:(Microsoft VBScript 运行时错误“800a000d”)

类型不匹配:'ubound'

/apps/Program14/reports/trans_summary.asp,第 238 行

我还没有尝试解决这个问题,因为我不确定如何处理这个问题。我什至查看了 iis 日志文件,它的错误是 500 0 0 130。然后配置 IE 以在运行时正确显示错误的详细信息。这就是它吐出来的东西,目前我被卡住了。任何帮助将不胜感激。我在谷歌上搜索并阅读了无数其他文章,但我仍然对这个问题感到有些茫然,而微软与外国技术支持一样有帮助。

vbscript asp-classic

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

抑制 Visio.Application 警报

我有一个 VBScript,它通过Visio.Application在不可见模式下使用在后台打开 Visio 文件。

Set Visioapp = CreateObject("Visio.Application")
Visioapp.Visible = False
Set Visio = Visioapp.Documents.Open(VisioFile)
Run Code Online (Sandbox Code Playgroud)

这很好用,除非我在处理它时尝试打开一个生成弹出窗口的文件。如果发生这种情况,应用程序将显示警报以通知用户,但由于应用程序对用户不可见(或在没有用户存在的情况下运行),脚本只是无限期挂起,等待不会到来的输入。

如果我正在为 Excel 或 Word 编写 VBA 代码,我可以使用Application.DisplayAlerts = False(和/或可能DisplayEvents)。但是在我的 VBScript 中,Visio 应用程序没有该属性。Visioapp.DisplayAlerts = False会给我错误“对象不支持此属性或方法”。

如何抑制从 VBScript 打开的 Visio 应用程序生成的弹出窗口?

vbscript

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

批处理文件,我想抑制 Windows 脚本主机弹出窗口

我在我的组织中使用 MDT(Microsoft 部署工具包)和 WDS(Windows 部署服务)。我cmd /c %scriptroot%\HP_Win_7.bat在任务序列中调用了一个 CMD 文件。

批处理文件的内容:

slmgr /ilc c:\support\zertifikate\HP.xrm-ms
slmgr /ipk 74T2M-DKDBC-788W3-H689G-6P6GT
slmgr /ato
Run Code Online (Sandbox Code Playgroud)

在批处理文件的执行过程中,我从 Windows Script Host 收到 3 个弹出窗口,我必须按“确定”或“输入”确认。批处理暂停,直到我确认弹出窗口。如果没有,cmd 文件将暂停。

我想要一个解决方案来隐藏这些弹出窗口或自动确认它们。

该脚本加载证书文件和通用密钥并激活窗口。(Windows 键是通用的,适用于 HP Win 7 PC)

windows vbscript batch-file mdt

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

Server.URLEncode 开始用加号 ("+") 而不是百分比 20 ("%20") 替换空白

鉴于这段代码:

<%
    Response.Write Server.URLEncode("a doc file.asp")
%>
Run Code Online (Sandbox Code Playgroud)

它输出一段时间(如 Javascript call encodeURI):

a%20doc%20file.asp
Run Code Online (Sandbox Code Playgroud)

现在,不知为何,我得到:

a+doc+file%2Easp
Run Code Online (Sandbox Code Playgroud)

我不确定我是怎么做到的(可能是文件内容编码为 ANSI/UTF-8)。为什么会发生这种情况,我怎样才能获得 的第一个行为Server.URLEncode,即使用百分比编码?

vbscript urlencode asp-classic

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