ProjAdminAuto-Objekt

Über das ProjAdminAuto-Objekt kann ebenso auf Informationen über installierte WinCC OA Projekte zugegriffen werden, wie über das ProjAdmin-Objekt, nur ist die Schnittstelle auch für Typlose Scriptsprachen wie vbScript geeignet. Für die Beschreibung der Methoden siehe ProjAdmin-Objekt.

Abbildung 1. Objektkatalog - ProjAdminAuto-Objekt

Ein Beispiel findet sich in der WinCC OA Version unter source. Es besteht aus den beiden Dateien getProj.cmd und getProj.vbs. Das VBScript fragt das aktuelle Projekt ab und prüft die Config-Datei. Bei Erfolg wird eine temporäre Batch-Datei mit einem Befehl zum Setzen der Umgebungsvariablen PVSS_II erstellt. getProj.cmd startet das Beispiel und führt die temporäre Batch-Datei aus, die daraufhin wieder gelöscht wird.

getProj.cmd

@echo off

rem getProj.cmd

rem setzt die PVSS_II Variable auf die aktuelle config- Datei

call cscript //NOLOGO %~d0%~p0\getProj.vbs

call %temp%\setEnv.cmd

rm %temp%\setEnv.cmd

getProj.vbs

'getProj.vbs

'Fragt die aktuelle config-Datei ab und erstellt einen

'Befehl (setEnv.cmd) zum setzen der PVSS_II Environment Variablen

option explicit

dim oProjAdmin 'as WCCOACom.ProjAdminAuto

dim sh 'as Shell

dim sProj 'as string

dim sConfig 'as string

dim fsoTmp 'as FileSystemObject

dim oTmpFile 'as File

dim i 'as integer

dim sFile 'as string

Set sh = CreateObject("WScript.Shell")

Set fsoTmp = CreateObject("Scripting.FileSystemObject")

set oProjAdmin = createObject("WCCOACom.ProjAdminAuto")

i = oProjAdmin.GetActProj(sProj)

if i <> 0 then

WScript.Echo "Error " & i & vbCrLf & "Can't get current Project!" & vbCrLf

WScript.quit

end if

i = oProjAdmin.ProjName2ConfigFile(sProj, sConfig)

if i <> 0 then

WScript.Echo "Error " & i & vbCrLf & "Can't get config file!" & vbCrLf

WScript.quit

end if

i = oProjAdmin.CheckConfigFile(sConfig, 1)

if i <> 0 then

WScript.quit

end if

sFile = sh.Environment("PROCESS")("TEMP")

set oTmpFile = fsoTmp.CreateTextFile(sFile & "\setEnv.cmd", true)

oTmpFile.WriteLine("Set PVSS_II=" & sConfig)