例如,我如何在下面运行me.test?
myvar = 'test'
me.myvar
Run Code Online (Sandbox Code Playgroud)
ASP查找方法"myvar"但找不到它.在PHP中,我可以简单地说$ me - > $ myvar,但ASP的语法不区分变量和方法.建议?
与此密切相关,ASP Classic中是否有method_exists函数?
提前致谢!
编辑:我正在写一个验证类,并希望通过管道分隔字符串调用方法列表.
例如,要验证名称字段,我会调用:
validate("required|min_length(3)|max_length(100)|alphanumeric")
Run Code Online (Sandbox Code Playgroud)
我喜欢有一条线来显示给定字段的所有验证方式.并且字符串的每个管道分隔部分是方法的名称.
如果您有更好的设置建议,我会全力以赴!
我们有一个运行MS Word(隐藏)以打印文档的应用程序。
如果其中一台打印机有问题,则在等待后台处理程序返回“排队”消息时,Word将挂起。
我们发现如果使Word可见(例如,通过在Excel中使用VBA GetObject和oWordApp.visible=true),该过程将继续打印其他文档而不会出现问题。
我们希望通过对正在运行的进程中的Word进行VBScript检查来使其更加自动化,如果找到它,使其可见,等待几秒钟,将其隐藏,然后退出...
但是我有一个问题,如果VBScript GetObject函数尚未运行,它会实例化Word。
如何在不创建单词实例的情况下使用VBScript检查该单词是否正在运行?
这是我在VBScript文件中拥有的代码:
dim oWord, WScriptShell
set oWord = getobject("", "Word.Application")
set WScriptShell = CreateObject("WScript.Shell")
if isobject(oWord) then 'and oWord.Documents.count>0
wscript.echo("Word is running")
oWord.visible=true
WScript.Sleep 1000
oWord.visible=false
else
wscript.echo("Word not running")
end if
Run Code Online (Sandbox Code Playgroud)
所以我应该使用什么来检查word是否在运行而不创建它的实例?
我试图远程更改在WORKGROUP环境中运行Win 7的大约50台计算机上的壁纸.
我拥有所有这些的本地管理员权限,而且他们正在运行一个代理(Faronics),可以让我远程推送.bat .exe .msi .vbs和.ps1.
只是想知道是否有任何应用程序允许我远程执行此操作,或者如果没有,是什么是将我的图像添加到这些计算机并将其设置为默认壁纸的最简单方法?
这是一个将字符串转换为十六进制代码的脚本:
strString = "test"
strHex =""
For i=1 To Len(strString)
strHex = strHex & " " & Hex(Asc(Mid(strString,i,1)))
Next
strHex = Right(strHex,Len(strHex)-1)
WScript.Echo strHex
Run Code Online (Sandbox Code Playgroud)
我想做一个将十六进制转换为字符串的反向操作,这可能使用vbscript吗?
我使用以下vbscript代码下载网页:
Dim oXML
Set oXML = CreateObject("msxm12.XMLHTTP")
oXML.Open "GET", "mysite.com", False
oXML.Send
Run Code Online (Sandbox Code Playgroud)
如果没有这样的网站,我会报错 80004005, Unspecified error at line "oXML.Open ..."
我该如何处理vbscript中的此错误?我想捕获此错误,并显示msgbox和我的错误,即网页不可用。
我正在为一个项目使用一些经典的asp.我运行了一些我多次不熟悉的语法.
这是一个例子:
if Request.QueryString("viewpopup") <> "" then
queryString = "?viewpopup=" & Request.QueryString("viewpopup")
end if
Run Code Online (Sandbox Code Playgroud)
我试图识别的是<>和""在本声明的第一行中的作用.
我需要检查某个进程是否正在运行。这里的问题是,每次触发时,我的进程名称可能会有所不同。
进程名称趋势如下所示:_process3452 _process2345 _process1234
如您所见,_process是相同的。每次启动时都会添加一个随机数。如果知道确切的进程名称,我知道如何检查进程。但是,我不知道如何使用通配符。
有人可以帮我弄这个吗。
考虑这个示例VBScript片段:
Dim fs
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FileExists("D:\Folder\File*.ext") Then ' Finds nothing!
fs.CopyFile "D:\Folder\File*.ext", "D:\OtherFolder\"
fs.Deletefile "D:\Folder\File*.ext"
End If
Run Code Online (Sandbox Code Playgroud)
该FileExists方法证明不支持通配符(*和?).没有FolderExists.我预计wildards只是工作,因为他们工作的优良所有类似的方法在FileSystemObject:CopyFile,CopyFolder,MoveFile,MoveFolder,DeleteFile,DeleteFolder和Get*文件名处理方法一样GetAbsolutePathName.
当然有办法解决这个问题,比如GetFolder迭代它的文件.但FileExists本来会更具可读性,方便性,自然性和一致性.
该fs.FileExists不一致感觉就像一个API设计问题.可能是什么原因?背后有什么想法吗?
我试图运行以下代码VBScript但它没有编译最后一个语句.是因为VBScript不允许命名参数吗?
Filename_Argument = WScript.Arguments(0)
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add()
Workbooks.OpenText Filename:=Filename_Argument, Origin _
:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False _
, Comma:=False, Space:=False, Other:=True, OtherChar:="|", FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1)), TrailingMinusNumbers:=True
Run Code Online (Sandbox Code Playgroud) 我已经尝试了两天来设置满足第三方提供商要求的端点。他们将通过HTTPS POST向我们发送有关业务对象状态的更新,请求的内容将为JSON。不幸的是,它现在必须用VBScript编写。
目前,我无法获得他们发送给我的请求的原始内容,因此我根本无法处理它。
我创建了一个简单的终结点(raw-form.asp)和两个测试页来演示该问题。首先,我使用HTML表单设置了一个简单的测试HTML页面(raw-form-test1.asp),它可以正常工作。第二个测试页(raw-form-test2.asp)使用将内容发送到端点WinHttpRequest。使用此功能时,数据不存在。我正在尝试通过进行获取Request.Body。
原始形式的asp:
<%
Dim post : post = Request.Body
Response.ContentType = "text/plain"
Response.Write "Your " & Request.ServerVariables("REQUEST_METHOD") & " data was: " & post
%>
Run Code Online (Sandbox Code Playgroud)
raw-form-test1.asp:
<!DOCTYPE html>
<html>
<body>
<form action="raw-form.asp" method="post">
<p><textarea name="data"></textarea></p>
<p><input type="submit"></p>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
raw-form-test2.asp:
<%
Dim data : data = Request.Form("data")
Dim resp : resp = ""
If data <> "" Then
Dim http : Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
http.Open "post", "http://localhost:8080/raw-form.asp"
http.Send data
http.WaitForResponse(10)
resp …Run Code Online (Sandbox Code Playgroud) vbscript ×10
asp-classic ×3
api-design ×1
batch-file ×1
http-post ×1
late-binding ×1
process ×1
windows ×1