' Makro:        Lock und Unlock von Views
' Version:      1.0
' Autor:         Christian Obholzer
' E-Mail:        ch.obholzer@aon.at
' Datum:       25.03.2010
' Zweck:        Es werden alle Views auf einem Blatt gesperrt oder entsperrt
'-----------------------------------------------------------------------------------
' Änderung:  Datum, Name
'                    Hier wird die Änderung angegeben
'                    Datum, Name
'                    Hier wird die Änderung angegeben
'-----------------------------------------------------------------------------------


Sub CATMain()

	Dim Dokument As Windows
	Dim Doc As Document
	Dim Typ As String
	Dim Box
	Dim Suche As Selection

	Set Dokument = CATIA.Windows
	If Dokument.Count = 0 Then
		Box = MsgBox ("Es ist kein Dokument geöffnet." + Chr(10) + "Das Makro kann nicht ausgeführt werden und wird beendet.", 16, "Kein Dokument offen")
		Exit Sub
	End If

	Set Doc = CATIA.ActiveDocument
	Typ = TypeName (Doc)
	If Not (Typ = "DrawingDocument") Then
		Box = MsgBox ("Dieses Dokument ist kein Drawing." + Chr(10) + "Das Makro kann nicht ausgeführt werden und wird beendet.", 16, "Falscher Dokumententyp")
		Exit Sub
	End If

	Set Suche = CATIA.ActiveDocument.Selection
	Suche.Search "Drafting.View.Name!='Background View'"

	If Suche.Count = 0 Then
		Box = MsgBox ("Es ist keine Ansicht vorhanden." + Chr(10) + "Das Makro wird deshalb beendet.", 16, "Keine Ansicht vorhanden")
		Exit Sub
	End If

	For i = 1 To Suche.Count

		If (Suche.Item(i).Value.LockStatus = "Wahr") Then
			Suche.Item(i).Value.LockStatus = False
		Elseif (Suche.Item(i).Value.LockStatus = "Falsch") Then
			Suche.Item(i).Value.LockStatus = True
		End if

	Next

	If (Suche.Item(1).Value.LockStatus = "Wahr") Then
		Box = MsgBox ("Es werden alle Ansichten gesperrt.", 48, "Lock")
	Elseif (Suche.Item(1).Value.LockStatus = "Falsch") Then
		Box = MsgBox ("Es werden alle Ansichten entsperrt.", 48, "Unlock")
	End if

	Suche.Clear

Catia.StatusBar = ("Lock und Unlock von Views.CATScript, Version 1.0")

End Sub