download WOSB (free)
Code:
wosbExe = "c:\WakeupOnStandBy\wosb.exe" ' Path to wosb.exe
sleepTime = 15 							' Sleep time in minutes

Set oShell = CreateObject("WScript.Shell")
Set colMonitoredEvents = GetObject("winmgmts:").ExecNotificationQuery("Select * from Win32_PowerManagementEvent")

isHibernate = False
suspendTime = Now
resumeTime = Now

Do
	Set objLatestEvent = colMonitoredEvents.NextEvent

	Select Case objLatestEvent.EventType

		Case 4
			' Suspend
			If Not isHibernate Then
				suspendTime = Now
				oShell.Run wosbExe & " /systray /run tm=+" & sleepTime & ":00", 0, False
			End If
			
		Case 7, 18
			' 7 - Resume, 18 - Automatic Resume
			resumeTime = Now
			If Not isHibernate Then
				diff = DateDiff("n", suspendTime, resumeTime)
				If diff >= sleepTime And diff <= sleepTime * 2 Then
					isHibernate = True
					oShell.Run wosbExe & " /closeall", 0, False
					oShell.Run "rundll32.exe powrprof.dll,SetSuspendState", 0, False
				Else
					isHibernate = False
					oShell.Run wosbExe & " /closeall", 0, False
				End If
			Else
				isHibernate = False
			End If	
		
	End Select	
Loop