标签: vbscript

VBScript:Function返回一个数组

我有一些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)

arrays vbscript

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

如何从VBScript调用C#DLL函数

我的服务器上有我的脚本,因此我没有可用的UI交互,必须使用DLL而不是控制台应用程序.

如何从VBScript中调用C#DLL中的函数?

如何制作我的DLL COMVisible?我需要注册吗?

c# dll vbscript function-calls

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

VBScript函数中的变量范围

我对VBScript中的变量范围有疑问.我知道有以下关键字(来自autoitscript.com):

  1. 如果变量名称不是全局存在的话,Dim = Local scope(在这种情况下,它会重用全局变量!)
  2. Global =强制在全局范围内创建变量
  3. Local =强制在Local/Function范围内创建变量

想象一下,我有以下.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在我使用它们时明确使用而不仅仅定义变量有什么意义,这在脚本语言中是可能的?

vbscript scope

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

如何使用Messagebox在Windows 7任务计划程序中启动VBS脚本?

我正在使用Win7 x64 Professional,并尝试使用Windows任务计划程序运行VBS脚本.我的问题是,脚本的行为与直接启动的脚本完全不同,即使我以高权限启动它,并使用相同的用户.

我注意到的一件事是,例如,无法在屏幕上输出任何消息框.

在Windows XP下,我记得有一个名为"允许与桌面交互"的选项修复了很多这些问题,但我在Win7上找不到这些选项.

我还尝试运行Wscript.exe,并将脚本文件作为命令行选项传递,但这导致脚本根本没有启动,即使任务调度程序说它已正确启动.

您能否解释一下在Win7中启动VBS的最佳方法是什么,以便在脚本直接在资源管理器中启动时具有与脚本相同的行为?

vbscript scheduled-tasks windows-7

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

使用VBScript查找毫秒的时间

我希望得到毫秒的时间目前使用Timer()方法,但它只提供访问最多任何想法?

请确保我不想将秒转换为毫秒,希望得到毫秒

vbscript

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

根据屏幕形状或对接状态自动更改Windows 7任务栏位置

使用VBScript或任何其他编程语言可以实现以下目标:

  • 检测屏幕形状 - 或计算机是否已停靠
  • 更改Windows任务栏位置

我想要实现的目标:

我的笔记本电脑有一个14英寸的宽屏:相当宽,但不是很高.我发现将Windows任务栏放在屏幕左侧最方便,因为我可以节省宽度而不是垂直空间.

然而,当我在办公室时,我的电脑坐在一个扩展坞,并连接到一个漂亮的大方形屏幕.在这里,我更喜欢将任务栏放在其默认位置,即底部.

当然,我知道如何在任务栏属性中手动切换两个任务栏位置.但我每天都这样做几次,这很烦人.我的问题是:我可以自动更改任务栏位置吗?

例如,在启动时(或从休眠状态唤醒),将运行一个脚本来检测:

  • 屏幕形状是否高于4:3?(或任何数字)
  • 电脑是否停靠在扩展坞?

如果是,请将任务栏放在底部,否则放在左侧.

有人知道怎么做或者能让我走上正轨吗?或者是否已经有一个实用程序可以做到这一点?

windows vbscript automation taskbar windows-7

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

是否可以在 UNIX 环境中运行 VBScript?

我有一个 Vbscript,用于将 Excel 工作表合并到一个工作簿中。我想知道我们是否可以在unix系统中执行vbscript(.vbs)文件。如果是,请帮我办理手续。提前致谢。

unix vbscript scripting scheduling execution

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

VBA:使用没有BOM的UTF-8保存文件

它可能很简单,这是我尝试过的:

 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保存文件的任何想法?

vb6 vbscript vba utf-8 excel-vba

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

如何在经典ASP上进行参数化SQL查询?

有人能告诉我使用VBscript中的经典ASP执行参数化SQL查询的最简单方法吗?

一个可编辑的例子是最好的.

sql vbscript asp-classic

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

调试Classic Asp时调试器在错误的行上

我在使用我可用的任何MS调试环境调试工作站上的任何ASP Classic网站时遇到问题.我在Win XP SP3上,使用内置的IIS 5.1.

它开始于几个星期前,发生在多个项目中.在我的环境中有一些明显的变化,因为它在过去工作正常,即使在最近的IDE中,只要我附加到进程.然后它打破了如下所述.我已经放弃了,但我最近开始研究一个新项目,尝试调试并且有效!但是今天,它又回到了同样破碎的行为:

当我尝试设置断点时,IDE实际上将点设置在我单击的行的上方或下方几行.我试图在完全是服务器端代码的行上设置断点,所以这不是因为它在嵌入代码块的HTML之前或之后跳过.偶尔它不会设置断点,给我一个空心的断点图标并显示一条错误,表示该行没有可执行代码.

当我附加到IIS进程(inetinfo.dll,因为我在低隔离模式下运行)时,断点可能不会被命中.如果是,并且我开始单步执行,则选定的线会跳转,并且不会落在源中的每个连续线上,也不会按预期方式跟随控制结构.监视的变量未按预期更新.它显然看到的代码与我对相同行号不同.

无论我是否在浏览器中加载页面,都会发生相同的行为

  • 从VS2010附加到进程,设置断点并刷新页面,或
  • 设置断点,附加到进程,然后刷新,或
  • 在我的源中添加一个'stop'语句,然后刷新页面.在这种情况下,我提供了一个可用调试器列表,并且每个调试器都执行完全相同的操作 - 它们跳过SAME代码行并遵循相同的'错误'路径.我已经尝试过VS2010,2008,2005,2003和Microsoft Script Debugger.

似乎源代码与调试器逐步完成的内容不同步.我已确定在VS>工具>选项>调试>常规中设置了"要求源文件与原始版本完全匹配"

当然,这些是ASP Classic站点 - 没有编译代码,因此我在IDE中看到的源应该与调试器执行的源相同.它不是特定于一个项目 - 它至少发生在至少两个完全独立的项目上.并且,它发生在多台机器上 - 我将我的项目部署到测试服务器并尝试在那里进行调试,并获得相同的行为.

我发现了一些有关UTF编码文件的相似声音问题的信息,这些文件包含非ANSI字符(你知道,你使用Unicode支持的那些!),这里,这里这里,但是我通过我的源代码找不到这样的任何文件.

有任何想法吗?谢谢!

debugging vbscript asp-classic visual-studio

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