我有一些VBScript代码,其中一个函数返回一个数组.
function PreProcessFile (sFile)
dim deData(3)
''populate deData with strings
PreProcessFile = deData
End function
Run Code Online (Sandbox Code Playgroud)
调用此函数的代码错误,类型不匹配.有什么想法吗?
'' VBScript source code
Dim m_deData(3)
set m_deData = PreProcessFile("someFile.txt")
Run Code Online (Sandbox Code Playgroud) 我的服务器上有我的脚本,因此我没有可用的UI交互,必须使用DLL而不是控制台应用程序.
如何从VBScript中调用C#DLL中的函数?
如何制作我的DLL COMVisible?我需要注册吗?
我对VBScript中的变量范围有疑问.我知道有以下关键字(来自autoitscript.com):
想象一下,我有以下.vbs文件:
Dim strPath
strPath = "C:\folder"
DisplayPath strPath
Sub DisplayPath(strPath) 'Does this strPath get it's own local scope?
MsgBox strPath
End Sub
Run Code Online (Sandbox Code Playgroud)
在功能:DisplayPath(strPath)是strPath一个局部变量?或者函数/ subs是否可以访问strPath脚本主要部分顶部定义的全局变量?
另外,Dim在我使用它们时明确使用而不仅仅定义变量有什么意义,这在脚本语言中是可能的?
我正在使用Win7 x64 Professional,并尝试使用Windows任务计划程序运行VBS脚本.我的问题是,脚本的行为与直接启动的脚本完全不同,即使我以高权限启动它,并使用相同的用户.
我注意到的一件事是,例如,无法在屏幕上输出任何消息框.
在Windows XP下,我记得有一个名为"允许与桌面交互"的选项修复了很多这些问题,但我在Win7上找不到这些选项.
我还尝试运行Wscript.exe,并将脚本文件作为命令行选项传递,但这导致脚本根本没有启动,即使任务调度程序说它已正确启动.
您能否解释一下在Win7中启动VBS的最佳方法是什么,以便在脚本直接在资源管理器中启动时具有与脚本相同的行为?
我希望得到毫秒的时间目前使用Timer()方法,但它只提供访问最多任何想法?
请确保我不想将秒转换为毫秒,希望得到毫秒
使用VBScript或任何其他编程语言可以实现以下目标:
我想要实现的目标:
我的笔记本电脑有一个14英寸的宽屏:相当宽,但不是很高.我发现将Windows任务栏放在屏幕左侧最方便,因为我可以节省宽度而不是垂直空间.
然而,当我在办公室时,我的电脑坐在一个扩展坞,并连接到一个漂亮的大方形屏幕.在这里,我更喜欢将任务栏放在其默认位置,即底部.
当然,我知道如何在任务栏属性中手动切换两个任务栏位置.但我每天都这样做几次,这很烦人.我的问题是:我可以自动更改任务栏位置吗?
例如,在启动时(或从休眠状态唤醒),将运行一个脚本来检测:
如果是,请将任务栏放在底部,否则放在左侧.
有人知道怎么做或者能让我走上正轨吗?或者是否已经有一个实用程序可以做到这一点?
我有一个 Vbscript,用于将 Excel 工作表合并到一个工作簿中。我想知道我们是否可以在unix系统中执行vbscript(.vbs)文件。如果是,请帮我办理手续。提前致谢。
它可能很简单,这是我尝试过的:
Set objStream = CreateObject("ADODB.Stream")
Set objStreamNoBOM = CreateObject("ADODB.Stream")
With objStream
.Open
.Charset = "UTF-8"
.WriteText "aaaaaa"
.Position = 0
End With
With objStreamNoBOM
'.Charset = "Windows-1252" ' WORK
.Charset = "UTF-8" ' DOESN'T WORK!!
.Open
.Type = 2
.WriteText objStream.ReadText
.SaveToFile "toto.php", 2
.Close
End With
objStream.Close
Run Code Online (Sandbox Code Playgroud)
如果字符集是UTF-8,那么文件的开头就有ï».
有关如何使用UTF-8和没有BOM保存文件的任何想法?
有人能告诉我使用VBscript中的经典ASP执行参数化SQL查询的最简单方法吗?
一个可编辑的例子是最好的.
我在使用我可用的任何MS调试环境调试工作站上的任何ASP Classic网站时遇到问题.我在Win XP SP3上,使用内置的IIS 5.1.
它开始于几个星期前,发生在多个项目中.在我的环境中有一些明显的变化,因为它在过去工作正常,即使在最近的IDE中,只要我附加到进程.然后它打破了如下所述.我已经放弃了,但我最近开始研究一个新项目,尝试调试并且有效!但是今天,它又回到了同样破碎的行为:
当我尝试设置断点时,IDE实际上将点设置在我单击的行的上方或下方几行.我试图在完全是服务器端代码的行上设置断点,所以这不是因为它在嵌入代码块的HTML之前或之后跳过.偶尔它不会设置断点,给我一个空心的断点图标并显示一条错误,表示该行没有可执行代码.
当我附加到IIS进程(inetinfo.dll,因为我在低隔离模式下运行)时,断点可能不会被命中.如果是,并且我开始单步执行,则选定的线会跳转,并且不会落在源中的每个连续线上,也不会按预期方式跟随控制结构.监视的变量未按预期更新.它显然看到的代码与我对相同行号不同.
无论我是否在浏览器中加载页面,都会发生相同的行为
似乎源代码与调试器逐步完成的内容不同步.我已确定在VS>工具>选项>调试>常规中设置了"要求源文件与原始版本完全匹配"
当然,这些是ASP Classic站点 - 没有编译代码,因此我在IDE中看到的源应该与调试器执行的源相同.它不是特定于一个项目 - 它至少发生在至少两个完全独立的项目上.并且,它发生在多台机器上 - 我将我的项目部署到测试服务器并尝试在那里进行调试,并获得相同的行为.
我发现了一些有关UTF编码文件的相似声音问题的信息,这些文件包含非ANSI字符(你知道,你使用Unicode支持的那些!),这里,这里和这里,但是我通过我的源代码找不到这样的任何文件.
有任何想法吗?谢谢!