• 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

    • Surface Copilot+ PCs coming to classrooms from July 22, turbocharged with on-device AI by Paul Hill Microsoft has announced that it’s launching the new Surface Pro 12-inch and Surface Laptop 13-inch models specifically for education customers from July 22. The Redmond giant said that these devices are being launched as a direct response to feedback from educators who want practicality and ease of use in their diverse classrooms. These are both Copilot+ PCs so teachers and students will be able to leverage the latest AI features thanks to the dedicated Neural Processing Units (NPUs) that allow for on-device AI. The on-device AI, aside from delivering well-known features like Recall, will enable new education features such as a new app Microsoft is working on called Microsoft Learning Zone. Microsoft Learning Zone will allow teachers to create personalized lessons by adapting content from trusted sources like OpenStax, generating interactive games with Kahoot, and tracking students progress. Microsoft expects this to help teachers save time and deliver a more flexible and engaging classroom. Another AI feature that will be available is Click to Do. This lets students highlight text or images and get contextual help. It can be used to summarize a paragraph or explain a graph. To activate it, students can press the Windows key and click. This feature runs entirely on device so inputs to the AI are secure and you don’t need to ever worry about third-parties seeing. Finally, these devices will also have accessibility features such as Voice Access which lets you navigate with speech and Live Captions which provide real-time subtitles and translations for spoken content. These make the devices more inclusive for students with disabilities. Regarding security, these laptops come with the Microsoft Pluton security chip directly integrated into the processor for protecting sensitive data. It can protect data such as passwords and sign-ins, even if your device is stolen. Thanks to automatic Windows Updates, schools never need to worry about falling behind on updates either. With the impending demise of Windows 10 in mid-October, these Surface devices arrive just in time for schools looking for somewhere to upgrade to. Aside from AI features and security, Microsoft is also pushing other key features including easy repair with replacement components at the Microsoft Store and iFixit, their lightweight design and all-day battery life making them ideal for carrying and surviving the school day, and their compatibility with popular education apps such as TestNav, Google Classroom, Minecraft Education, and Adobe Express.
    • Taras Buria, do you think you could write more about Windows Vista? It is always such a pleasure — quite a pleasure — to see it mentioned in the title of a news article. What about an editorial?
  • Recent Achievements

    • Rising Star
      Phillip0web went up a rank
      Rising Star
    • One Month Later
      Epaminombas earned a badge
      One Month Later
    • One Year In
      Bert Fershner earned a badge
      One Year In
    • Reacting Well
      ChrisOdinUK earned a badge
      Reacting Well
    • One Year In
      Steviant earned a badge
      One Year In
  • Popular Contributors

    1. 1
      +primortal
      545
    2. 2
      ATLien_0
      205
    3. 3
      +FloatingFatMan
      170
    4. 4
      Michael Scrip
      149
    5. 5
      Som
      131
  • Tell a friend

    Love Neowin? Tell a friend!