문제

I am new to VBScript and can't figure out why I'm getting an Object Required error with my code. It's very simple right now, I've just begun it:

<%
set fs=Server.CreateObject("Scripting.FileSystemObject")
Dim dateandtime
On Error Resume Next
set dateandtime = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")
If Err <> 0 Then
  ' File operation(s) failed, handle the error
  response.write(Err.Description)
End If
%>

Why am I not able to set the DateTime? I've set the FileSystemObject for use later in the code FYI. I'm just putting it all in here so you see exactly what I have. I figure it's a simple syntax thing but I can't seem to find the answer anywhere. Thanks for your help!

도움이 되었습니까?

해결책

The first mistake is to use Set when assigning a non-object to a variable. The last entry in the 'Related' list “Object required” when using Set in an assignment deals with it.

>> Set dt = "a string"
>>
Error Number:       424
Error Description:  Object required [because Set wants an object to assign]

No Set, no problem:

>> dt = "a string"
>> WScript.Echo dt
>>
a string

Removing the Set will reveal the next problem: Unless you defined a suitable class and an instance named 'DateTime' of your own, DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") will fail with the same error 424.

>> dt = Nix.Now.ToString("")
>>
Error Number:       424
Error Description:  Object required [to use its .Now member]

Do a search here for ways to format a date in VBScript. (First hit for "[vbscript] format date": date format in VBS)

The () in the .Write call should be removed; they are not parameter list (), but 'pass me per value' (). See this answer and follow the link to Eric Lippert's article.

다른 팁

What about crear your code and just do this?

<%
    dateandtime = now()

    response.write dateandtime
%>

To use setyou need a Object.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top