【问题标题】:vbscript Function syntax errorvbscript 函数语法错误
【发布时间】:2014-11-26 07:16:05
【问题描述】:

我已经从DateDiff in days, hours and mins的一个线程中提取了以下代码

但我在第一行代码中遇到语法错误,我无法弄清楚原因,因为它看起来与我编写的其他函数语法相同。

Function TimeSpan(dt1, dt2) 

        seconds = Abs(DateDiff("S",dt1, dt2)) 
        minutes = seconds \ 60 
        hours = minutes \ 60 
        minutes = minutes mod 60 
        seconds = seconds mod 60 

        if len(hours) = 1 then hours = "0" & hours 

        TimeSpan = hours & ":" & _ 
            RIGHT("00" & minutes, 2) & ":" & _ 
            RIGHT("00" & seconds, 2) 

End Function 

dt1 = ActiveRequest.Fields("CreationDate").Value
dt2 = ActiveRequest.Fields("1stcontactdatetime").Value

我收到的错误是:“第 1 行的控制脚本错误:语法错误(Microsoft VBScript 编译错误):FuntionTimeSpan(dt1, dt2)”

任何建议都将不胜感激,尤其是如果它可以帮助我不再这样做!

【问题讨论】:

  • 您使用的是什么脚本主机?
  • @Bond 我已经运行了以下 code MsgBox(ScriptEngine) MsgBox(ScriptEngineBuildVersion) MsgBox(ScriptEngineMajorVersion) MsgBox(ScriptEngineMinorVersion) code 我收到了以下 VBScript, 17280, 5, 8 我相信它适用于 Windows Scripting Host
  • 好的,那么您使用的是 WSH?它是 VBS 文件还是 WSF?您的代码是包含在单个文件中还是使用脚本组件? “控制脚本中的错误”不是我经常看到的。
  • 我正在另一个程序中编写脚本,它的对象可以由 VBScript 寻址和操作。因此,我并没有真正看到您所描述的我的脚本,但我倾向于认为它是基于行为的 WSH。
  • 这很奇怪,因为它听起来像是函数声明本身的错误。您确定要在其中编写脚本的程序尚未定义名为 TimeSpan 的函数吗?

标签: function vbscript syntax-error


【解决方案1】:

将其设为子或定义返回变量。

虽然我的 vbscript 引擎不介意你的代码。

您可能正在使用 msscript.ocx(MS 脚本控件),它在应用程序中运行 vbscripts。可能是 system32 中的帮助文件。

Timespan 是 .NET 框架中的一个类。

最后,如果使用编辑控制框,就像记事本和对话框那样,你会遇到字符问题。粘贴到写字板(基于富文本编辑控件),以便检查格式化编辑控件是否忽略。

在错误消息中,VBScript 认为函数和函数名之间没有空格。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-21
    • 2015-09-19
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 2014-12-31
    相关资源
    最近更新 更多