我正在做一个sql到oracle的迁移.我必须改变很多旧的vbscript代码.这是我与Oracle一起使用的新代码的示例.这是造成问题的一点代码,
cmd.CreateParameter("v_CdEnt", adChar, adParamInput, 4, Request("ENTIDADE"))
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我因adChar和adParamInput而出错.如果我使用
cmd.CreateParameter("v_CdEnt", 129 , 1 , 4, Request("ENTIDADE"))
Run Code Online (Sandbox Code Playgroud)
使用常量的值,一切正常.有任何想法吗??
Set cmd = Server.CreateObject("ADODB.Command")
Set oRS = Server.CreateObject("ADODB.Recordset")
With cmd
.ActiveConnection = GlobaloConn
.CommandText = "GetBalcoes"
.CommandType = 4 'adCmdStoredProc
.Parameters.Append cmd.CreateParameter("v_CdEnt", adChar, adParamInput, 4, Request("ENTIDADE"))
End With
Set oRS = cmd.Execute
do while not oRS.Eof
If oRS.Fields(1) = Request("BALCAO") then
%><option value="<%=oRS.Fields(1)%>" selected="selected"><%=left(oRS.Fields(2), 30) & "-" & oRS.Fields(1)%></option>
<%
Else
%><option value="<%=oRS.Fields(1)%>"><%=left(oRS.Fields(2), 30) & "-" & oRS.Fields(1)%></option>
<%
End If
oRS.MoveNext
loop
oRS.Close
Set …Run Code Online (Sandbox Code Playgroud) 我有一个脚本,我目前用来检查网络何时上升或下降.它写入pinglog.txt.
对于我的生活,我无法弄清楚如何在网络出现故障时写入事件日志.在哪里说:
Call logme(Time & " - " & machine & " is not responding to ping, CALL FOR
HELP!!!!",strLogFile)
Run Code Online (Sandbox Code Playgroud)
多数民众赞成我需要写入事件日志"机器没有重新启动ping,请求帮助!!!!
'Ping multiple computers and log when one doesn't respond.
'################### Configuration #######################
'Enter the IPs or machine names on the line below separated by a semicolon
strMachines = "4.2.2.2;8.8.8.8;8.8.4.4"
'Make sure that this log file exists, if not, the script will fail.
strLogFile = "c:\logs\pinglog.txt"
'################### End Configuration ###################
'The default application for .vbs is wscript. If you double-click …Run Code Online (Sandbox Code Playgroud) 好吧,我正在尝试将一个小的RPG作为vbs中的一个小项目.我所追求的是一个带有5个按钮的msgbox:攻击,技能,魔术,跑步,帮助.
我对vbscript的了解很少,所以你可能需要解释一下.
我只是想在这里制作一个日志文件.我尝试用OpenTextFile而不是做某事CreateTextFile,但之后它什么都没写,我真的不确定为什么,而且我找不到我需要的信息.
'Nick Repella 10/29/13
'Needed in case object does not exist (outdated list)
On Error Resume Next
Function IsCompDisabled(strLine)
Dim objComputer
objComputer = "LDAP://cn="
objComputer = objComputer & strLine
objComputer = objComputer & ",ou=HIDDENOU,dc=HIDDENDC,dc=HIDDENDC,dc=HIDDENDC"
IsCompDisabled = GetObject(objComputer).AccountDisabled
End Function
'Set the file to read computer names from (Change C:\scripts\text.txt to the
'target file)
Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\scripts\text.txt", 1)
Dim strLine
Do While Not objFileToRead.AtEndOfStream
strLine = objFileToRead.ReadLine()
If (IsCompDisabled(strLine) = True) Then
outFile="c:\scripts\compDisableCheck.log"
Set objFSO = …Run Code Online (Sandbox Code Playgroud) 我正在处理一个获取两个字符串并逐字逐句比较的函数.我不是要求写入这种函数的逻辑,但我想知道是否已经有一个现有函数可以做到这一点.
该函数获取两个字符串并返回一个百分比值(介于0和100之间)以表示这两个字符串的相似程度.
例如:
String 1: "ABCDEFG"
String 2: "HIJKLMN"
----------
result: 0%
String 1: "ABCDEFG"
String 2: "ABCDEFG"
----------
result: 100%
Run Code Online (Sandbox Code Playgroud) 我有一本excel工作簿.我需要将其显示为将自动刷新的HTML页面(例如每2分钟一次).为此,我需要在每张工作表上运行计算,然后另存为HTML.我稍后会弄清楚如何在以后交换旧HTML文件.我已经在excel中有一个宏来完成所有计算,然后每2分钟保存为HTML.我需要做的就是调用那个宏
问题是所有这些都要发生的机器是服务器机器,因此无法在其上安装MS office.因此我无法使用Excel COM Inter-op.
一个是如果我可以写一个.net程序或一个将运行宏的Vb脚本.但是.net程序总是使用inter-op.
另一种方法是,如果我可以将本书保存为HTML并在HTML本身中运行宏(不知道HTML是否具有VB A代码).在这里我也发现我需要安装Visual Basic编辑器(因为它只附带excel).
我宁愿不使用第三方软件.
上述两个程序中的任何一个都可以在给定的条件下实施吗?如果没有,还有其他方法吗?
更新:
一直在寻找开放XML的解决方案,并最终发现开放的XML 2.0无法运行Excel计算,因为SDK没有计算引擎.Open XML SDK 2.5是否有计算引擎?
我正在处理一个.vbs文件,其中我使用下面的代码行连接到数据库,而不是运行一些查询.
Set cm = CreateObject("ADODB.Command")
cm.ActiveConnection = "Driver={Microsoft ODBC for Oracle};Server ="+sInst+"; UID="+sUID+";PWD="+sPWD
cm.CommandType = 1
cm.CommandText = sSQL
cm.Execute()
Set cm = Nothing
Run Code Online (Sandbox Code Playgroud)
对我来说奇怪的是,当我将这些行复制到QTP并从QTP运行时,它运行正常.但是当运行.vbs文件(通过双击和从cmd),它给我以下错误:
[Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序
我还有其他机器,它的工作正常.我尽力验证机器中的所有东西,但我没有得到它.
我感谢任何想法/帮助/建议.
谢谢.
快速更新:
由于vbs无法正常工作,我尝试使用googled并使用以下行创建批处理文件:
C:\Windows\SysWoW64\cscript.exe //NoLogo filepath\xyz.vbs
Run Code Online (Sandbox Code Playgroud)
它现在正在工作.
所以问题是如何使用SysWoW64中的 ODBC运行vbs 而不是来自system32 ...?
我试图让Go程序执行一个添加几个注册表值的vbscript.处理此问题的Go代码如下:
err = exec.Command("cmd.exe", "/c", "registry.vbs").Run()
if err != nil {
fmt.Printf("Error: %s\n", err.Error())
}
Run Code Online (Sandbox Code Playgroud)
当我运行我的Go程序并且它到达执行此vbscript的部分时,绝对没有任何反应.注册表值不会更改,也不会出现错误.如果我尝试运行以下命令它可以正常工作:
cmd.exe /c C:\path\to\file\registry.vbs
Run Code Online (Sandbox Code Playgroud)
我尝试过的事情:
.Output()而不是,.Run()这导致输出等于[ ]有人知道为什么会这样吗?
任何方向将不胜感激.
我正在使用VBscript打开Microsoft Excel并将xls文档转换为csv。
这是一个简单的示例,该示例接受一个参数并转换第一页
Dim oExcel
Dim oBook
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Open(Wscript.Arguments.Item(0))
oBook.SaveAs "out.csv", 6
oBook.Close False
oExcel.Quit
Run Code Online (Sandbox Code Playgroud)
如果一切正常,那就太好了。但是当脚本在无法关闭excel之前崩溃时,该过程将继续存在并锁定文件,直到我手动终止该过程为止。
即使脚本失败,如何确保我执行任何清理例程?
我正在尝试使用VbScript获取窗口的标题.有没有办法实现它?就像我们在C#中这样做的方式
using System.Diagnostics;
Process[] processlist = Process.GetProcesses();
foreach (Process process in processlist)
{
if (!String.IsNullOrEmpty(process.MainWindowTitle))
{
Console.WriteLine("Process: {0} ID: {1} Window title: {2}",
process.ProcessName, process.Id, process.MainWindowTitle);
}
}
Run Code Online (Sandbox Code Playgroud)