Studio sessions checker framework
(C)2021 Ron E. Allen - all rights reserved.
This dumps the raw XML sessions file – we could get a little
fancier and read the XML pieces individually or strip away the unneeded info
form the XML file:
ron.allen xx-systemID-- ---------------------------------------------------------------------- 123-456-789 Last Modified: 2021-01-01t0001 <?xml version="1.0"
encoding="utf-8"?> <Session Version="1.0">
<Document>Somefile 20xx.xx.xx_xx.pdf?</Document>
<Active>Somefile 20xx.xx.xx_xx.pdf?</Active> </Session> ---------------------------------------------------------------------- 123-456-788 Last Modified: 2021-01-01t0002 <?xml version="1.0"
encoding="utf-8"?> <Session Version="1.0" /> ---------------------------------------------------------------------- ---------------------------------------------------------------------- |
Attribute VB_Name = "BlueBeamSessions" Const strBrk = vbCr & "----------------------------------------------------------------------" & vbCr
Dim msg As String ''String message
Sub Main()
''check for Bluebeam sessions
Dim FSO As New FileSystemObject ''File system access
Dim ofold As Folder ''primary folder
Dim osFold As Folder ''sub folders
Dim SH As WshShell ''Windows shell
Dim strFP As String ''File path for studio
Dim ofileTxt As TextStream ''Text stream
Set SH = CreateObject("WScript.Shell") ''set shell object
AppData = SH.SpecialFolders("AppData") ''%localappdata%
''%localappdata%\Revu\data\Sessions\studio.bluebeam.com\???-???-???\SessionInfo.xml
strFP = AppData & "\..\local\\Revu\data\Sessions\studio.bluebeam.com\"
Set FSO = CreateObject("Scripting.FileSystemObject")
msg = strBrk ''Clean msg
msgadd CreateObject("WScript.Network").UserName & vbCr
msgadd CreateObject("WScript.Network").ComputerName
msgadd strBrk
If Not FSO.FolderExists(strFP) Then ''Folder doesn't exist
msgadd "Folder doesn't exist- No studio porjects present."
Else ''Folder exists
Set ofold = FSO.GetFolder(strFP)
For Each osFold In ofold.SubFolders
msgadd osFold.Name
Set ofileTxt = Nothing
If Not FSO.FileExists(osFold.Path & "\SessionInfo.xml") Then
msgadd "No Session file exists." & vbCr & strBrk
Else
Set ofileTxt = FSO.OpenTextFile(osFold.Path & "\SessionInfo.xml")
msgadd " Last Modified: " & Format(FSO.GetFile(osFold.Path & "\SessionInfo.xml").DateLastModified, "yyyy-mm-dd\tHHmm") & vbCr
msgadd ofileTxt.ReadAll & strBrk
ofileTxt.Close
End If
Next osFold
End If
msgadd strBrk
Debug.Print msg
End Sub
Sub msgadd(ByRef msgadd)
msg = msg & msgadd
End Sub
|
Comments
Post a Comment