2014-10-01 139 views
2

我從這裏線程DateDiff in days, hours and minsVBScript函數語法錯誤

但我上的第一行代碼得到一個語法錯誤解除了下面的代碼,我不明白爲什麼,因爲它看起來是一樣的作爲我寫的其他函數語法,工作正常。

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行:語法錯誤(微軟VBScript編譯錯誤):FuntionTimeSpan(DT1,DT2)」

任何意見,將不勝感激,尤其是如果它幫助我不要再做一次!

+1

您使用的是哪種腳本主機? – Bond 2014-10-01 12:47:42

+1

@Bond 我已經運行下面 '代碼MSGBOX(的ScriptEngine) MSGBOX(ScriptEngineBuildVersion) MSGBOX(ScriptEngineMajorVersion) MSGBOX(ScriptEngineMinorVersion) code' 我接收到下面的VBScript,17280,5,8 相信它適用於Windows腳本主機 – Peter 2014-10-01 13:16:46

+0

好的,所以你使用WSH?它是VBS文件還是WSF?您的代碼是包含在單個文件中還是使用腳本組件? 「控制腳本中的錯誤」並不是我經常見到的。 – Bond 2014-10-01 13:32:47

回答

1

使它成爲一個子類或定義一個返回變量。

雖然我的vbscript引擎不介意你的代碼。

您可能正在使用msscript.ocx(MS腳本控制),它在應用程序中運行vbscripts。可能是system32中的幫助文件。

Timespan是.NET框架中的一個類。

最後一點是如果使用編輯控制框,正如記事本和對話框所做的那樣,您會遇到字符問題。粘貼到wordpad(基於richtext編輯控件),以便您可以檢查格式編輯控件忽略。

在錯誤消息VBScript認爲函數和函數名稱之間沒有空格。

+0

你會錯的。 – Noodles 2014-10-02 15:06:34