• 0

[VBS] How to get Realtime Status of Network Drives!


Question

I have a script that maps network drives but i would like to create a way to display the realtime status of those drive for instance if the drive is connected then a cell in the table that displays all of the drives would turn green and if the drive was not connected then it will turn red. i am fairly new to VBS.

Option Explicit
	const pcstrPath = ";G:\SYSINFO;F:\Public"
	const pcstrC3Server = "\\Z02DBCVSC01\"
	dim objExplorer, HTML
	'set oIE = CreateObject("InternetExplorer.Application") 
	'Modeless oIE, "VSC Logon Script is running, please wait..." 
	On Error Resume Next
Set objExplorer = CreateObject ("InternetExplorer.Application")
objExplorer.Navigate "about:blank"   
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Fullscreen = 1
objExplorer.Left =  0
objExplorer.Top =   0
'objExplorer.Width = 800
'objExplorer.Height = 600
objExplorer.Visible = 1			 
objExplorer.Document.Body.Style.Cursor = "wait"
Dim objDocument:Set objDocument = objExplorer.Document	
  objDocument.Open
  objDocument.Writeln "<HEAD></HEAD><TITLE>Logon Script Progress</TITLE>"
  objDocument.Writeln "<Body BGColor=white SCROLL=YES>"	
  objDocument.Writeln "</BODY>"  

'###Write to the IE Object
objExplorer.Document.Body.InnerHTML="<html><tablelor=lightblue border=3 width=100% bordercolor=black cellspacing=6 cellpadding=6" &amp; _ 
	   "height=100%&gt;&lt;tr valign=middle&gt;&lt;td align=center&gt; " &amp; _
	   "&lt;caption align=center&gt;&lt;font size=20&gt;&lt;b&gt;&lt;i&gt; Mapping Network Drives.... &lt;/b&gt;&lt;/i&gt;&lt;/font&gt;&lt;/caption&gt; " &amp; _
	   "&lt;tr&gt; " &amp; _
	   "&lt;th&gt;&lt;font size=18 color=black&gt;&lt;u&gt;Network Drive:&lt;/u&gt;&lt;/font&gt;&lt;/th&gt; " &amp; _
	   "&lt;th&gt;&lt;font size=18 color=black&gt;&lt;u&gt;Connected:&lt;/u&gt;&lt;/font&gt;&lt;/th&gt; " &amp; _
	   "&lt;tr&gt; " &amp; _
	   "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(G:) Rafacsii$ on 'Z02dbcvsc01'&lt;/font&gt;&lt;/td&gt; " &amp; _
		   "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   "&lt;tr&gt; " &amp; _
	   "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(H:) Rafacs$ on ' Z02dbcvsc01'&lt;/font&gt;&lt;/td&gt; " &amp; _
	   "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   "&lt;tr&gt; " &amp; _
	   "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(I:) User on 'Z02rscvsc07\User Share' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   "&lt;tr&gt; " &amp; _
	   "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(J:) Local on 'Z02rscvsc07\NOVAShare\Mis' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   "&lt;tr&gt; " &amp; _
	   "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(K:) Pubarc on 'Z02rscvsc07' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   "&lt;tr&gt; " &amp; _
	   "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(L:) APPLShare on 'Z02rscvsc07' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   "&lt;tr&gt; " &amp; _
	   "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(M:) Imroot$ on 'Z02dbcvsc01' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   "&lt;tr&gt; " &amp; _
	   "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(O:) itsopshre on 'Z02rscvsc07' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   "&lt;tr&gt; " &amp; _
	   "&lt;td align=Left&gt;&lt;font size=10 color=black&gt;(P:) DocProd on 'Z02c4cvsc01' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   "&lt;tr&gt; " &amp; _
	   "&lt;td align=Left&gt;&lt;font size=10 color=black&gt;(Q:) PrintShare on 'Z02TBCVSC02(Z02tbcvsc02)' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   "&lt;tr&gt; " &amp; _
	   "&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;"
objDocument.Close

	Dim pstrUserName,pstrGroups,pstrFailed,pstrSpecialVolChar
	'Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt; getting User Name"
	pstrUserName = fstrGetUserProperty("samAccountName")
	'Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt; getting group membership"
	pstrGroups = ucase(fstrGetUserProperty("MemberOf"))
	if InStr(pstrGroups, "VSC C3 SERVICE ACCOUNTS") then
	pstrSpecialVolChar = "Z"
	end if
	If fblnMapDriveAndFolder("I:", "\\Z02APPVSC01\User Share", "\" &amp; pstrUserName) = False Then
		pstrFailed = pstrFailed &amp; "&lt;/p&gt;" &amp; "I:" &amp; "\\Z02APPVSC01\User Share\" &amp; pstrUserName &amp; "\  Has NOT been mapped"
	End If
	'Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt;Mapping " &amp; "G:" &amp; pcstrC3Server &amp; pstrSpecialVolChar &amp; "RAFACSII$\"
	If fblnMapDriveAndFolder("G:", pcstrC3Server &amp; pstrSpecialVolChar &amp; "RAFACSII$", "") = False Then
		pstrFailed = pstrFailed &amp; "&lt;/p&gt;" &amp; "G:" &amp; pcstrC3Server &amp; pstrSpecialVolChar &amp; "RAFACSII$\  Has NOT been mapped"
	End If
	'Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt;Mapping " &amp; "H:" &amp; pcstrC3Server &amp; pstrSpecialVolChar &amp; "RAFACS$\"
	If fblnMapDriveAndFolder("H:", pcstrC3Server &amp; pstrSpecialVolChar &amp; "RAFACS$", "") = False Then
		pstrFailed = pstrFailed &amp; "&lt;/p&gt;" &amp; "H:" &amp; pcstrC3Server &amp; pstrSpecialVolChar &amp; "RAFACS$\  Has NOT been mapped"
	End If
	if InStr(pstrGroups, "VSC USERS - CIS") then
	'Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt;Mapping " &amp; "J:\\Z02RSCVSC04\NOVAShare\MIS\LOCAL"
	If fblnMapDriveAndFolder("J:", "\\Z02RSCVSC04\NOVAShare\MIS\LOCAL", "") = False Then
	   	pstrFailed = pstrFailed &amp; "&lt;/p&gt;" &amp; "J:" &amp; "\\Z02RSCVSC04\NOVAShare\MIS\LOCAL  Has NOT been mapped"
	   End If
	end if	
	'Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt;Mapping " &amp; "K:\\Z02APPVSC01\PUBARC\"
   q If fblnMapDriveAndFolder("K:", "\\Z02APPVSC01\PUBARC", "") = False Then
		pstrFailed = pstrFailed &amp; "&lt;/p&gt;" &amp; "K:" &amp; "\\Z02APPVSC01\PUBARC\  Has NOT been mapped"
	End If
	if InStr(pstrGroups, "VSC USERS - CIS") then
	'Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt;Mapping " &amp; "L:\\Z02RSCVSC04\APPLShare\"
	If fblnMapDriveAndFolder("L:", "\\Z02RSCVSC04\APPLShare\", "") = False Then
	   	pstrFailed = pstrFailed &amp; "&lt;/p&gt;" &amp; "L:" &amp; "\\Z02RSCVSC04\APPLShare\  Has NOT been mapped"
	   End If
	end if
'	if InStr(pstrGroups, "VSC C3 Service Accounts") then
'	Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt;Mapping " &amp; "L:\\Z02RSCVSC04\APPLShare\"
'	If fblnMapDriveAndFolder("L:", "\\Z02RSCVSC04\APPLShare\", "") = False Then
'		  pstrFailed = pstrFailed &amp; "&lt;/p&gt;" &amp; "L:" &amp; "\\Z02RSCVSC04\APPLShare\  Has NOT been mapped"
'	   End If
'	end if	
	'Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt;Mapping " &amp; "M:" &amp; pcstrC3Server &amp; pstrSpecialVolChar &amp; "IMROOT$\"
	If fblnMapDriveAndFolder("M:", pcstrC3Server &amp; pstrSpecialVolChar &amp; "IMROOT$", "") = False Then
		pstrFailed = pstrFailed &amp; "&lt;/p&gt;" &amp; "M:" &amp; pcstrC3Server &amp; pstrSpecialVolChar &amp; "IMROOT$\  Has NOT been mapped"
	End If
'
'Sets up mappings for Supervisory share - \\Z02RSCVSC04\MGMTShare - Added by Rene 12/19/2006
'
	if InStr(pstrGroups, "VSC _ADJUDICATIONS_MGMT_ZEN - CIS") then
	'Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt;Mapping " &amp; "N:\\Z02RSCVSC04\SUPVShare\"
	If fblnMapDriveAndFolder("N:", "\\Z02RSCVSC04\SUPVShare", "") = False Then
	   	pstrFailed = pstrFailed &amp; "&lt;/p&gt;" &amp; "N:" &amp; "\\Z02RSCVSC04\SUPVShare\  Has NOT been mapped"
	   End If
	end if
	if InStr(pstrGroups, "VSC _SIIO_ZEN - CIS") then
	'Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt;Mapping " &amp; "N:\\Z02RSCVSC04\SUPVShare\"
	If fblnMapDriveAndFolder("N:", "\\Z02RSCVSC04\SUPVShare", "") = False Then
	   	pstrFailed = pstrFailed &amp; "&lt;/p&gt;" &amp; "N:" &amp; "\\Z02RSCVSC04\SUPVShare\  Has NOT been mapped"
	   End If
	end if	
	if InStr(pstrGroups, "VSC _N_DRIVE - CIS") then
	'Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt;Mapping " &amp; "N:\\Z02RSCVSC04\SUPVShare\"
	If fblnMapDriveAndFolder("N:", "\\Z02RSCVSC04\SUPVShare", "") = False Then
	   	pstrFailed = pstrFailed &amp; "&lt;/p&gt;" &amp; "N:" &amp; "\\Z02RSCVSC04\SUPVShare\  Has NOT been mapped"
	   End If
	end if	
'
'End of Supervisory share mappings
'
	'Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt;Mapping " &amp; "Checking to see if using Citrix"
	if fblnCitrix = false then
	'Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt;Mapping P:\\Z02C4CVSC01\DocProd"
	If fblnMapDriveAndFolder("P:", "\\Z02C4CVSC01\DocProd", "") = False Then
	pstrFailed = pstrFailed &amp; "&lt;/p&gt;" &amp;  "P:\\Z02C4CVSC01\DocProd Has NOT been mapped"
	End If
	end if
	'Modeless oIE, "VSC Logon Script is running, please wait...&lt;/p&gt;&lt;/p&gt;Setting the PATH variable"
	if fblnSetUserEnvVar("PATH",pcstrPath,True) = false then
	pstrFailed = pstrFailed &amp; "&lt;/p&gt;" &amp; "Could not set the Path environment variable to: " &amp; "&lt;/p&gt;" &amp; pcstrPath
	end if

if pstrFailed &lt;&gt; "" then
	'Modeless oIE, " The following Errors Occured:" &amp; pstrFailed
	call pause(10) 'pause for 5 seconds
end if




'Determines whether the drive is already mapped
'   If it is mapped to the wrong location this function will map it to
'	   the correct one
'   else if drive doesn't exist then
'	   map it
' Yuppers Get 'R Done
Function fblnMapDriveAndFolder(strDriveLetter,strServerName, strPath)
	On Error resume next
	fblnMapDriveAndFolder = True
	Dim pobjFsys
	Set pobjFsys = CreateObject("Scripting.FileSystemObject")
	'correction for wrong slash
	strServerName = Replace(strServerName, "/", "\")
	strPath = Replace(strPath, "/", "\")
	'Below will put a "\\" on the front of the server name if it doesn't exist
	If Left(strServerName, 2) &lt;&gt; "\\" Then
		strServerName = "\\" &amp; strServerName
	End If
	'Below will put take the "\" off of the end of the server name if it exists
	If Right(strServerName, 1) = "\" Then
		strServerName = Left(strServerName, Len(strServerName) - 1)
	End If
	'Below will put a "\" on the front of the path name if it doesn't exist
	If Left(strPath, 1) &lt;&gt; "\" And strPath &lt;&gt; "" Then
		strPath = "\" &amp; strPath
	End If
	'Below will put a ":" on the end of the strDriveLetter if it doesn't exist
	If Right(strDriveLetter, 1) &lt;&gt; ":" Then
		strDriveLetter = Left(strDriveLetter, 1) &amp; ":"
	End If
	If pobjFsys.FolderExists(strServerName &amp; strPath) = False Then
		'Create the folder because it doesn't exist
		pobjFsys.CreateFolder strServerName &amp; strPath &amp; "\"
	End If
	'Check to see if the drive is already mapped
	If pobjFsys.DriveExists(strDriveLetter) = True Then
		'Check to see if the drive letter is mapped to the correct folder

		If pobjFsys.FolderExists(strDriveLetter &amp; strPath) = False Or strPath = "" Then 'The drive is mapped to the wrong location
			'Map over the existing drive with the correct path
			If fblnMapDrive(strDriveLetter, strServerName, strPath, True) = False Then
			   fblnMapDriveAndFolder = false
			End If
		End If
	Else 'The drive doesn't exist
		'Map the drive
		If fblnMapDrive(strDriveLetter, strServerName, strPath, False) = False Then
			fblnMapDriveAndFolder = false
		End If
	End If

	Set pobjFsys = Nothing
	If Err.Number &lt;&gt; 0 Then
	err.clear
		fblnMapDriveAndFolder = False
	End If
End Function

Function fblnMapDrive(strDriveLetter, strServer, strFolderPath, blnRemoveFirst)' As Boolean
	On Error resume next
	fblnMapDrive = True
	Dim objNetwork
' Purpose of script to create a network object. (objNetwork)
' Then to apply the MapNetworkDrive method. 
	Set objNetwork = CreateObject("WScript.Network")
	If blnRemoveFirst = True Then
		objNetwork.RemoveNetworkDrive strDriveLetter, True, True
	End If
		objNetwork.MapNetworkDrive strDriveLetter, strServer &amp; strFolderPath, True
	If Err.Number &lt;&gt; 0 Then
		fblnMapDrive = False
	End If
End Function

function fblnSetUserEnvVar(strVariable, strValue, blnConcat)
 on  Error resume next
   dim wshShell, pobjEnv
   fblnSetUserEnvVar = true
   set WshShell = CreateObject("WScript.Shell")
   Set pobjEnv = WshShell.Environment("User")
   if blnConcat = true then
	pobjEnv(strVariable) = pobjEnv(strVariable) &amp;  strValue
   else
	pobjEnv(strVariable) = strValue
   end if

   if err.number &lt;&gt; 0 then
	fblnSetUserEnvVar = false
	err.clear
   end if
end function

Function fblnCitrix()
	Dim strComputer
	Dim objWMIService
	Dim clSettings
	Dim objRecord
	fblnCitrix   = true
on error resume next
	strComputer = "."
	Set objWMIService = GetObject("winmgmts:" _
		&amp; "{impersonationLevel=impersonate}!\\" _
		&amp; strComputer &amp; "\root\cimv2")
	Set clSettings = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
	fblnCitrix   = false
	For Each objRecord In clSettings
	if objRecord.WindowsDirectory &lt;&gt; "" then
		if left(objRecord.WindowsDirectory,2) = "P:" then
			fblnCitrix  = true
			exit for
		end if
	end if


	Next
if err.number &lt;&gt; 0 then
	msgbox err.description, "fblnCitrix",vbcritical
end if	
	Set objWMIService = Nothing
	Set clSettings = Nothing
End Function

'This function will return the specified property
Function fstrGetUserProperty(strProperty)
	On Error resume next
	Dim pstrConnect, pstrVal

	Dim pobjUser 'As ActiveDs.IADsUser
	pstrConnect = fstrADSpath
	Set pobjUser = GetObject(pstrConnect)
	pstrVal = pobjUser.Get(strProperty)
	if isArray(pstrVal) = true then
	fstrGetUserProperty = join(pstrVal)
	else
	fstrGetUserProperty = pstrVal
	end if

	If Err.Number &lt;&gt; 0 Then
		MsgBox Err.Description, vbCritical
	End If
	Set pobjUser = Nothing
End Function

'Gets the local Active Directory information
' Used to obtain the string to connect the user's AD object
Function fstrADSpath() 'As String
	Dim pobjAdSysInfo 'As ActiveDs.ADSystemInfo
	'Set pobjAdSysInfo = New ActiveDs.ADSystemInfo
	Set pobjAdSysInfo = CreateObject("AdSystemInfo")
	fstrADSpath = "LDAP://" &amp; pobjAdSysInfo.UserName

	Set pobjAdSysInfo = Nothing
End Function

function fblnSetUserEnvVar(strVariable, strValue, blnConcat)
 on  Error resume next
   dim wshShell, pobjEnv
   fblnSetUserEnvVar = true
   set WshShell = CreateObject("WScript.Shell")
   Set pobjEnv = WshShell.Environment("User")
   if blnConcat = true then
	if instr(1,ucase(pobjEnv(strVariable)),ucase(strValue)) &lt;= 0 then
		pobjEnv(strVariable) = pobjEnv(strVariable) &amp;  strValue
	end if
   else
	pobjEnv(strVariable) = strValue
   end if

   if err.number &lt;&gt; 0 then
	fblnSetUserEnvVar = false
	err.clear
   end if
end function

'Close the Splash Screen
objExplorer.quit 

'******************************************************************************
'   This will pause the number of seconds passed to it
'******************************************************************************
Sub pause(seconds)
	Dim strTime 
	strTime = (second(Time) + seconds)
	If (strTime &gt;= 60) Then
		strTime = (strTime - 60)
	End If
	Do Until (strTime = (second(Time)))

	Loop
End Sub

REM 'Routine for Splash Screen
REM Sub modeless(oIE, sprompt)
REM with oIE 
	REM .fullscreen = True : .navigate "about:blank" 
  REM While .readystate &lt;&gt; 4 : wscript.sleep 100 : Wend 
  REM with .document 
	REM .write "&lt;table bgcolor=lightblue border=3 width=100% bordercolor=black cellspacing=6 cellpadding=6" &amp; _ 
	   REM "height=100%&gt;&lt;tr valign=middle&gt;&lt;td align=center&gt; " &amp; _
	   REM "&lt;caption align=center&gt;&lt;font size=20&gt;&lt;b&gt;&lt;i&gt; Mapping Network Drives.... &lt;/b&gt;&lt;/i&gt;&lt;/font&gt;&lt;/caption&gt; " &amp; _
	   REM "&lt;tr&gt; " &amp; _
	   REM "&lt;th&gt;&lt;font size=18 color=black&gt;&lt;u&gt;Network Drive:&lt;/u&gt;&lt;/font&gt;&lt;/th&gt; " &amp; _
	   REM "&lt;th&gt;&lt;font size=18 color=black&gt;&lt;u&gt;Connected:&lt;/u&gt;&lt;/font&gt;&lt;/th&gt; " &amp; _
	   REM "&lt;tr&gt; " &amp; _
	   REM "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(G:) Rafacsii$ on 'Z02dbcvsc01'&lt;/font&gt;&lt;/td&gt; " &amp; _
		   REM "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;tr&gt; " &amp; _
	   REM "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(H:) Rafacs$ on ' Z02dbcvsc01'&lt;/font&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;tr&gt; " &amp; _
	   REM "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(I:) User on 'Z02rscvsc07\User Share' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;tr&gt; " &amp; _
	   REM "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(J:) Local on 'Z02rscvsc07\NOVAShare\Mis' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;tr&gt; " &amp; _
	   REM "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(K:) Pubarc on 'Z02rscvsc07' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;tr&gt; " &amp; _
	   REM "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(L:) APPLShare on 'Z02rscvsc07' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;tr&gt; " &amp; _
	   REM "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(M:) Imroot$ on 'Z02dbcvsc01' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;tr&gt; " &amp; _
	   REM "&lt;td align=left&gt;&lt;font size=10 color=black&gt;(O:) itsopshre on 'Z02rscvsc07' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;tr&gt; " &amp; _
	   REM "&lt;td align=Left&gt;&lt;font size=10 color=black&gt;(P:) DocProd on 'Z02c4cvsc01' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;tr&gt; " &amp; _
	   REM "&lt;td align=Left&gt;&lt;font size=10 color=black&gt;(Q:) PrintShare on 'Z02TBCVSC02(Z02tbcvsc02)' &lt;/font&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;td align=center&gt;&lt;/td&gt; " &amp; _
	   REM "&lt;tr&gt; " &amp; _
	   REM "&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;" 
	REM .title = "MESSAGE: _________________________________" 
	 REM 'With .ParentWindow 
	REM '  .resizeto 350,100 1
	REM '  .moveto (.screen.width - 400)\2, (.screen.height - 100)\2 
	REM 'End With 
	REM With .body.style
	  REM .borderStyle = "outset" 
	  REM .borderWidth = "4px" 
	REM End With 
	REM .bgcolor = "white"
	REM .body.scroll = "NO" 
  REM End With 
  REM .visible = true 
REM End with 
REM End Sub

0 answers to this question

Recommended Posts

There have been no answers to this question yet

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • 99% of Control Panel will be moved to Settings. Then by 2050, 20% of settings will have been moved to the Configuration Menu. I have no issues with Settings as it exists now in Windows 11. Bring everything over and be done with it.
    • We collect the few carcasses we get (as long as drivers report them, as they should) and while we have our fair share, we don't have nearly enough crashes with deer "to paint the roads with deer carcasses" in Finland. Also, if you can't handle the risks, DO NOT DRIVE. I really don't want everything to be so simple and stupid, that I don't have to worry about my surroundings (I also hate Apple devices because they kind of decide everything for you and offer very little customization vs. Android). Most people probably encounter much higher risks and dangers in their daily jobs than they encounter on roads. Just a few weeks ago I twisted my anckle at work while walking and I haven't had even a near miss with an animal in traffic for many years despite driving something like 27000+ km/year (there were a couple of off years in there too) and seeing many deer, a few moose and many smaller creatures on the road. I find it extremely rare to have deer stumble directly in front of me - it happens, but in my opinion not nearly enough to warrant considering it super dangerous (I actually find it exhilarating when it does happen as it changes the daily commute and it actually requires me to stay focused). It is probably more common to have some idiot with their face glued to their phone wonder in front of you or a kid on an electric scooter disregard all traffic rules. Here in the Nordics we also have plenty of snow and that kind of f's up anything that relies on lines or other clear lane indicators. The one time I have (kind of) started raging while driving was when I had a loan car from service and it had lane guidance. That freaking thing basically felt like it wanted to hit every pothole and bump it could and I really, really freaking hated it (came close to ripping the whole steering wheel of, I tell you . Didn't feel safer at all, quite the contrary, and it distracted me from the road more than anything else I've driven before, constantly fighting that f'ing thing to go where I wanted it to go (no clear lines, a crack in the pavement, etc. and it became confused as hell and required more adjusting than any traditional car). Also noteworthy that globally the amount of people with driver's licenses is pretty low (like under 20 %), many countries have great public transport systems and many walk and cycle (even during the winter).
    • The snipping tool has come a long way. Every feature they add reduces the need for third-party utilities; in the past it seemed MS shied away from adding features to some in-box tools just so there would be a more robust third-party developer base. Now that we finally have boxes, circles and arrows, can they finally add text bubbles?
    • It's a custom built linear internal power supply which is isolated from the mainboard, it is very clean. External switching PSUs can be noisy and send that noise to the components. Linear external power supplies are expensive for good ones and are rare to see included with a device hence why they are sold optionally.
  • Recent Achievements

    • Week One Done
      BlakeBringer earned a badge
      Week One Done
    • Week One Done
      Helen Shafer earned a badge
      Week One Done
    • First Post
      emptyother earned a badge
      First Post
    • Week One Done
      Crunchy6 earned a badge
      Week One Done
    • One Month Later
      KynanSEIT earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      660
    2. 2
      ATLien_0
      266
    3. 3
      Michael Scrip
      235
    4. 4
      Steven P.
      164
    5. 5
      +FloatingFatMan
      153
  • Tell a friend

    Love Neowin? Tell a friend!