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.
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)