标签: vbscript

如何区分 VBscript 是从命令行运行还是在窗口中单击它?

我想要做的就是区分由命令行运行的程序或通过单击窗口中的 test.vbs 文件。

如果您通过键入运行该脚本C:\testFolder\test.vbs在命令提示符,的话,我想程序不同于如果你双击了运行test.vbstestFolder

是否有一些系统变量可以用来区分这两种情况?我首先尝试使用WScript.Fullname来确定路径名是以 cscript 还是 wscript 结尾。但这并不奏效。

任何想法都非常感谢。

vbscript scripting command-line

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

mssql_execute 失败,“存储过程执行失败”

我目前正在使用以下查询成功连接到位于 Windows 2008 上的 SQL 数据库;

$result = mssql_query("EXEC dbo.stored_procedure_name @param_level = 2");
Run Code Online (Sandbox Code Playgroud)

我的查询基于用 VB/ADO 编写的现有代码,看起来像;

If level = "" Then level = 1

cmdTT.ActiveConnection = connStrTest1

set objParam=cmdTT.CreateParameter("@param_level", adInteger, adParamInput, 4, level)
cmdTT.Parameters.Append objParam

set rsTT = cmdTT.Execute
Run Code Online (Sandbox Code Playgroud)

所以我尝试的是以下内容;

$f = 2;

$stmt = mssql_init('dbo.stored_procedure_name', $mssql_link);

mssql_bind($stmt, "@param_level", $f, SQLINT4, false);

mssql_execute($stmt);
Run Code Online (Sandbox Code Playgroud)

但无论变化如何,它似乎总是在屏幕上打印警告,“警告:mssql_execute() [function.mssql-execute]:存储过程执行失败...... ”。

我在这里调试问题的最佳方法是什么?任何人都可以看到我的问题的明确解决方案吗?

我目前正在从 LAMP 堆栈远程连接到数据库。

非常感谢伊恩

php sql-server vbscript ado

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

如何在 Outlook 中自动安排宏?

我想知道如何为 Outlook 自动安排一个宏。我创建了一个宏,它从电子邮件中提取附件并将​​其存储在一个文件夹中。当我通过单击宏“执行”执行该宏时,该宏运行良好。

但我希望这个宏每天自动执行,例如在来我办公室之前的 08:30。

谢谢

macros vbscript powershell outlook

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

在 VBScript (COM-interop) 中确定 .Net 方法后缀号

您可以通过 VBScript 中的 COM-interop 使用 .NET 方法。由于重载不会跨越托管/非托管边界,因此您必须向该方法附加某个后缀编号。后缀号似乎没有特定的顺序……后缀号是如何确定的?

例子:

Dim encoding, bytesthroughdotnet
Set encoding = CreateObject("System.Text.UTF8Encoding")
    bytesthroughdotnet = encoding.GetBytes_4("???") 'get bytes
    WScript.Echo LenB(bytesthroughdotnet) 'length
Set encoding = Nothing
Run Code Online (Sandbox Code Playgroud)

为什么 _4 用于 GetBytes?

(此问题遵循此回复

.net vbscript overloading com-interop

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

使用VBscript检查计算机是否被锁定

如何使用VBscript检查计算机是否已被锁定?我想在计算机被锁定后停止运行应用程序,并在解锁后再次运行它

vbscript

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

如何在VB Script中延迟?

如何延迟 Vb 脚本?以下代码对我不起作用:

wscript.sleep 1000
Run Code Online (Sandbox Code Playgroud)
Delay 10

Sub Delay( seconds )
    Dim wshShell, strCmd
    Set wshShell = CreateObject( "Wscript.Shell" )
    strCmd = "%COMSPEC% /C (PING -n " & ( seconds + 1 ) & " 127.0.0.1 >NUL 2>&1 || PING -n " & seconds & " ::1 >NUL 2>&1)"
    wshShell.Run strCmd, 0, 1
    Set wshShell = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)
dim oshell 
set oshell = CreateObject("Wscript.Shell") 


obshell.run "%windir%\system32\rundll32.exe kernel32.dll Sleep 5000" 
Run Code Online (Sandbox Code Playgroud)

vbscript wsh delay setup-project visual-studio-2010

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

ASP Classic VB 错误 800a01a8 需要对象

我正在尝试解决公司网站上的问题。有问题的页面是http://www.srbc.com/SiteMap.asp。尝试调用全局选项文件时出现以下错误:

Microsoft VBScript 运行时错误“800a01a8”需要对象:“/_Includes/Callout_Global.asp,第 40 行”

这是 /_Includes/Callout_Global.asp 文件中错误引用的行:

rs_main.open "Select TeamID, FirstName + ' ' + LastName as FullName from team where Category = 'Attorney' and IsActive = '1' Order by OrderNum"
Run Code Online (Sandbox Code Playgroud)

该代码控制应包含律师姓名列表的下拉框。

此代码在站点中的其他页面上运行良好(例如参见http://www.srbc.com/Careers/Default.asp)。

我不是编码员,只是想稍微清理一下这个网站。这是相当过时的代码,但任何关于我可以做些什么来解决这个问题的建议都将不胜感激。

SiteMap.asp 页面上调用此函数的代码如下所示:

<td width="210" valign="top" class="hideforprint">
<!--#include virtual="/_Includes/Callout_Global.asp" -->
</td>
<td width="20">&nbsp;</td>
</tr>
</table>
<table width="726" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="25"></td>
</tr>
</table>
</td>
<td width="22" valign="top" background="/Images/CommonImages/rightborder.gif">&nbsp;</td>
</tr>
</table>
<!--#include virtual="/_Includes/Footer.asp" -->
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

谢谢!

vbscript asp-classic

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

如何使 vbscript 弹出消息始终在顶部?

任何人都知道如何在所有内容之上而不是在后台制作一个 vbscript 弹出消息/框“生成”......?

这是我的脚本:)

Set objShell = WScript.CreateObject("WScript.Shell")
Const wshYes = 6 
Const wshNo = 7 
Const wshYesNoDialog = 4 
Const wshQuestionMark = 32 
intReturn = objShell.Popup("Vil du annulere shutdown?", _
    20, "Shutdown om 5 minutter!", wshYesNoDialog + wshQuestionMark) 
If intReturn = wshYes Then 
    Wscript.Echo "Shutdown annuleret." 
    objShell.Run "C:\ProgramData\AutoShutdown\Annuler.bat" 
End If 
Run Code Online (Sandbox Code Playgroud)

在VBScript中糟糕,我只是用我的批处理程序这个小部分。任何帮助表示赞赏!

vbscript

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

Windows 脚本宿主的未来

Windows Script Host 的未来是什么?

微软已于 2015 年 5 月宣布在其新浏览器 Windows Edge 中终止 VBscript 和 ActiveX(顺便说一下,这对 Web 标准来说是个好消息)。但是,我无法找到有关脚本世界桌面部分的最新信息。我想知道下一个 Windows 桌面版本是否仍支持 VBscript、wscript.exe、cscript.exe 和 mshta.exe。我很担心,因为 Windows Script Host 引用日复一日地在 MSDN 库中越来越难找到。

我有很多 vbscript 和 hta 文件需要维护(在专业环境中),我需要预测是否很快需要迁移。

如果您有任何相关信息,请分享!

windows vbscript wsh hta

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

vbscript 连接到 sql server 运行查询将结果保存到 csv

我正在尝试创建一个连接到 sql server 的脚本,选择一些数据,并将结果保存到 csv。在 Sql Server 中启用了 Windows 身份验证。

这是我到目前为止所拥有的:

Dim connect, sql, resultSet, pth, txt

Set connect = CreateObject("ADODB.Connection")
connect.ConnectionString = "Provider=SQLOLEDB;Server=server\instance;Database=pm;Trusted_Connection=True;"
connect.Open

sql="SELECT col1, col2 FROM tbl1 order by col1, col2"

Set resultSet = connect.Execute(sql)

pth = "d:\test.csv"
Set txt = fs.CreateTextFile(pth, True)

On Error Resume Next
resultSet.MoveFirst
Do While Not resultSet.eof
  txt.WriteLine(resultSet(0) & "," & resultSet(1))
  resultSet.MoveNext
Loop

resultSet.Close
connect.Close
Set connect = Nothing
Run Code Online (Sandbox Code Playgroud)

我得到错误:

d:\vbs_test.vbs(5, 1) Microsoft OLE DB Provider for SQL Server: Invalid authorization …
Run Code Online (Sandbox Code Playgroud)

sql-server vbscript

5
推荐指数
0
解决办法
7869
查看次数