3.3.3.3
Editing Layers with VBA
Introduction
You can arrange objects in 32 layers in the Graphics Designer. The layers are differentiated 
according to CS layers and RT layers so that the visibility of the layers in the picture (CS) and 
in runtime (RT) can be controlled separately. In VBA a layer is represented by the Layer object: 
In the Graphics Designer the lowest layer is "Layer 0". To give back the lowest layer with VBA, 
use the index "1":
ActiveDocument.Layers(1)
Using the Layer object
You use the Layer object in order to specify the minimum and maximum zoom for a layer and 
to assign a name. In the following example the settings for the lowest layer are configured in 
the active picture:
Sub ConfigureSettingsOfLayer 
'VBA27
Dim objLayer As HMILayer 
Set objLayer = ActiveDocument.Layers(1) 
With objLayer 
'Configure "Layer 0"
.MinZoom = 10 
.MaxZoom = 100 
.Name = "Configured with VBA" 
End With
End Sub
Controlling the visibility of CS and RT layers
You control the visibility of the CS layers via the View object. Use the Document object in order 
to determine which layers are to be displayed or hidden in runtime. You can control the visibility 
of the CS and RT layers with the following methods: 
● Methode "IsCSLayerVisible(Index)": Checks whether the specified CS layer is displayed.
● Methode "SetCSLayerVisible(Index, Val)": Shows or hides the specified CS layer.
Use the IsRTLayerVisible and SetRTLayerVisible methods for the RT layers in the same way. 
VBA for Automated Configuration
3.3 VBA in the Graphics Designer
WinCC: Scripting (VBS, ANSI-C, VBA)
System Manual, 02/2013, A5E32315920-AA
1641
Move pdf pages online - re-order PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Customizing Page Order of PDF Document in C# Project
reverse page order pdf online; how to rearrange pdf pages in preview
Move pdf pages online - VB.NET PDF Page Move Library: re-order PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sort PDF Document Pages Using VB.NET Demo Code
rearrange pdf pages reader; how to reverse pages in pdf
See also
IsRTLayerVisible Method (Page 1824)
SetRTLayerVisible Method (Page 1852)
SetCSLayerVisible Method (Page 1849)
IsCSLayerVisible Method (Page 1823)
Layers Object (Listing) (Page 1948)
Editing Pictures with VBA (Page 1638)
Language-Dependent Configuration with VBA (Page 1608)
3.3.3.4
Editing a Copy of a Picture with VBA
Introduction
You can create copies of a picture with VBA in order to display different views of a picture. 
Each view is shown in a separate window. The copy of a picture is represented in VBA by the 
View object:
In the properties of the View object you can among other things set the zoom factor and specify 
which picture section is to be displayed.
Creating a copy of a picture
Use the Add method to create a copy of the specified picture. In this example a copy of the 
active picture is created and activated:
Sub CreateAndActivateView()
'VBA28
Dim objView As HMIView
Set objView = ActiveDocument.Views.Add
objView.Activate
End Sub
VBA for Automated Configuration
3.3 VBA in the Graphics Designer
WinCC: Scripting (VBS, ANSI-C, VBA)
1642
System Manual, 02/2013, A5E32315920-AA
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
Sorting Pages. RasterEdge XDoc.PDF allows you to easily move PDF document pages position, including sorting pages and swapping two pages.
how to reorder pages in pdf preview; reorder pages pdf
C# Word - Sort Word Pages Order in C#.NET
page reorganizing library control, developers can swap or adjust the order of all or several Word document pages, or just C# DLLs: Move Word Page Position.
reorder pages in pdf preview; reorder pages in pdf online
Editing a copy of a picture
You can edit each copy of a screen as follows:
● Adjust zoom factor: Use the zoom property.
● Specify picture zoom area: Specify the picture section: use the "ScrollPosX" and 
"ScrollPosY" properties to specify the picture zoom area using the scroll bars.
● Showing and Hiding CS layers: You can use the SetCSLayerVisible(Index) method for 
example to show or hide the specified layer. You can select the layer on which you want 
to edit the objects with the ActiveLayer property.
In the following example a copy of the active picture is created and activated. The zoom factor 
is set to 150% and the position of the scrollbars is changed: 
Sub SetZoomAndScrollPositionInActiveView()
'VBA29
Dim objView As HMIView 
Set objView = ActiveDocument.Views.Add 
With objView 
.Activate 
.ScrollPosX = 40 
.ScrollPosY = 10 
.Zoom = 150
End With
End Sub
See also
Add Method (Views Listing) (Page 1765)
ScrollPosY Property (Page 2334)
ScrollPosX Property (Page 2333)
ActiveLayer Property (Page 2047)
View Object (Page 2042)
SetCSLayerVisible Method (Page 1849)
IsCSLayerVisible Method (Page 1823)
Activate Method (Page 1757)
Editing Layers with VBA (Page 1641)
Editing Pictures with VBA (Page 1638)
VBA for Automated Configuration
3.3 VBA in the Graphics Designer
WinCC: Scripting (VBS, ANSI-C, VBA)
System Manual, 02/2013, A5E32315920-AA
1643
C# PowerPoint - Sort PowerPoint Pages Order in C#.NET
library control, developers can swap or adjust the order of all or several PowerPoint document pages, or just change the C# DLLs: Move PowerPoint Page Position.
how to reorder pages in pdf; rearrange pdf pages online
C# TIFF: How to Reorder, Rearrange & Sort TIFF Pages Using C# Code
Using this C#.NET Tiff image management library, you can easily change and move the position of any two or more Tiff file pages or make a totally new order for
how to move pages in a pdf; move pdf pages online
3.3.4
Editing Objects with VBA
3.3.4.1
Editing Objects with VBA
Access to objects in the Graphics Designer
In VBA all object types of the current picture are contained in the "HMIObjects" listing. They 
are not divided according to object type (Standard, Smart, Windows and Controls objects) as 
in the Graphics Designer. With VBA you can therefore run through all objects in one or more 
pictures with a loop.
When you have selected objects in the picture, these objects are contained in the "Selection" 
listing. Use the "HMIDefaultObjects" listing if you want to change the default settings of the 
properties of an object. 
To address an object in a picture with VBA, use either the object name, e.g. 
"ActiveDocument.HMIObjects("Circle1"), or the index number. " 
ActiveDocument.HMIObjects(1)" references for example the first object in the active picture. 
Editing objects with VBA
You have the following possibilities for editing objects with VBA: 
● Create a new object in a picture
● Delete an existing object
● Copy an existing object
● Group existing objects or cancel the grouping
● Search for objects
● Display or change object properties
When you insert a new object into a picture with VBA, the object behaves in the same way as 
if you double-clicked it in the Graphics Designer object palette.
The object is given the predefined property values and is inserted in the top left-hand corner 
of the picture. 
VBA for Automated Configuration
3.3 VBA in the Graphics Designer
WinCC: Scripting (VBS, ANSI-C, VBA)
1644
System Manual, 02/2013, A5E32315920-AA
VB.NET PDF File & Page Process Library SDK for vb.net, ASP.NET
Certainly, random pages can be deleted from PDF file as well. PDF Page sorting. RasterEdge XDoc.PDF allows you to easily move PDF document pages position
move pages in pdf reader; rearrange pages in pdf file
C# PDF insert text Library: insert text into PDF content in C#.net
string to PDF files using online source codes int pageIndex = 0; // Move cursor to (400F, 100F outputFilePath = Program.RootPath + "\\" output.pdf"; doc.Save
change pdf page order; pdf change page order
Access to the object properties is dependent on how you created the object. Two examples 
illustrate this:
Example 1: 
In this example a circle of the type "HMIObject" is inserted into the current picture. You can 
use a VBA object of the "HMIObject" type or all objects in the Graphics Designer. However, 
you have to address individual properties of the respective object explicitly via the 
"Properties(Index)" property: 
Sub AddObject()
'VBA30
Dim objObject As HMIObject
Set objObject = ActiveDocument.HMIObjects.AddHMIObject("CircleAsHMIObject", "HMICircle")
'
'standard-properties (e.g. the position) are available every time:
objObject.Top = 40
objObject.Left = 40
'
'non-standard properties can be accessed using the Properties-collection:
objObject.Properties("FlashBackColor") = True
End Sub
Example 2: 
In this example a circle of the type "HMICircle" is inserted into the current picture. In contrast 
with Example 1 you can only use the "objCircle" object for objects of the "HMICircle" type, 
however:
Sub AddCircle()
'VBA31
Dim objCircle As HMICircle
Set objCircle = ActiveDocument.HMIObjects.AddHMIObject("CircleAsHMICircle", "HMICircle")
'
'The same as in example 1, but here you can set/get direct the
'specific properties of the circle:
objCircle.Top = 80
objCircle.Left = 80
objCircle.FlashBackColor = True
End Sub
VBA for Automated Configuration
3.3 VBA in the Graphics Designer
WinCC: Scripting (VBS, ANSI-C, VBA)
System Manual, 02/2013, A5E32315920-AA
1645
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
edit, add, delete, move, and output PDF document image. Extract image from PDF free in .NET framework application with trial SDK components and online C# class
reverse pdf page order online; how to reverse page order in pdf
VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
Enable specified pages deleting from PDF in Visual Basic .NET class. Free trial SDK library download for Visual Studio .NET program. Online source codes for
move pages in pdf document; move pdf pages in preview
See also
LanguageFonts Object (Listing) (Page 1943)
VBA Reference (Page 1716)
Underlined Property (Page 2374)
Size Property (Page 2340)
Parent Property (Page 2290)
LanguageID Property (Page 2208)
Italic Property (Page 2201)
FontFamily Property (Page 2178)
Bold Property (Page 2085)
Application Property (Page 2059)
3.3.4.2
Default objects, Smart objects, Windows objects and Tube objects
Default objects, Smart objects, Windows objects and Tube objects
Introduction    
You use the Standard, Smart and Windows objects to design your pictures. In the Graphics 
Designer you will find these objects on the object palette on the "Standard" tab:
VBA for Automated Configuration
3.3 VBA in the Graphics Designer
WinCC: Scripting (VBS, ANSI-C, VBA)
1646
System Manual, 02/2013, A5E32315920-AA
VBA enables you to access these objects in all pictures in your project. If, for example, you 
want to change the background color of all circles in a project with several pictures, you can 
do this with a VBA macro. 
Paste Object into Picture
Use the "AddHMIObject(ObjectName, ProgID)" method to insert a new object in a picture: 
ObjectName" stands for the name of the object (e.g. "my Circle"), and "ProgID" for the VBA 
object designation (e.g. "HMICircle"):
Sub AddCircle()
'VBA32
'Creates object of type "HMICircle"
Dim objCircle As HMICircle
'
'Add object in active document
Set objCircle = ActiveDocument.HMIObjects.AddHMIObject("My Circle", "HMICircle")
End Sub
Edit Object
VBA gives you access to all object properties, which you can edit via the object's properties 
dialog. You can change and output object properties, and select objects in the picture. If you 
have not selected an object, you can use the following methods:
● "Find()" method: Searches for an object in the "HMIObjects" listing
● "Delete()" Method: Deletes an HMIObject object.
If you have selected objects, you can edit them via the "Selection" listing with the following 
methods, among others:
● "AlignLeft()", "AlignRight()", "AlignTop()", "AlignBottom()": These methods align objects.
● "CreateGroup()", "CreateCustomizedObject()": These methods create a group object or 
customized object.
● "DeselectAll()" method: Cancels the selection of all objects
Remove VBA:references with "Nothing"
Always remove the references used for the Controls, the standard objects, and for the 
document after you closed the document. For this purpose, set the objects to "Nothing". The 
following example shows the code for a Control:
Public Sub DrawNewControl
Const strFct = "CreatePdls"
Dim objControl As HMIObject
Dim objDoc As Document
On Local Error GoTo errorhandler
'open the document
Set objDoc = 
grafexe.Application.Documents.Open(grafexe.Application.ApplicationDa
taPath & "PDL1.pdl", hmiOpenDocumentTypeInvisible)
VBA for Automated Configuration
3.3 VBA in the Graphics Designer
WinCC: Scripting (VBS, ANSI-C, VBA)
System Manual, 02/2013, A5E32315920-AA
1647
'create new object
Set objControl = objDoc.HMIObjects.AddActiveXControl("Control1", 
"CCAxUserArchiveControl.AxUserArchiveControl.1")
If objControl Is Nothing Then
GoTo errorhandler
End If
'doing something with the control
'......
'delete reference to new control    
Set objControl = Nothing
'saving PDL and deleting reference to it
objDoc.Save    
objDoc.Close
Set objDoc = Nothing
Exit Sub
' errorhandler
errorhandler:
If MsgBox("Error occurred" & vbNewLine & "Yes - resume next" & 
vbNewLine & "No - stop script", vbOKCancel + vbCritical, strFct) = 
vbOK Then
Resume Next
End If
End Sub
See also
Parent Property (Page 2290)
Item Property (Page 2202)
Count Property (Page 2132)
Application Property (Page 2059)
How to edit Default objects, Smart objects, Windows objects and Tube objects
Introduction
Here you will find the following instructions for editing Standard, Smart and Windows objects:
● Define properties of a specific object
● Define properties of a nonspecific object
● Select an object in the active picture
● Find objects in the active picture
● Delete object
VBA for Automated Configuration
3.3 VBA in the Graphics Designer
WinCC: Scripting (VBS, ANSI-C, VBA)
1648
System Manual, 02/2013, A5E32315920-AA
Procedure
1. Open the VBA editor in Graphics Designer (<ALT+F11> or "Tools" > "Macros" > "Visual 
Basic Editor")
2. Open the document "ThisDocument" in the Project Explorer:
3. To define the properties of a specific object type (e.g. "HMICircle"), you can for example 
insert an "EditDefinedObjectType()" procedure in the document "ThisDocument". In this 
example a circle is inserted in the active picture and its line weight and color are modified: 
Sub EditDefinedObjectType()
'VBA33
Dim objCircle As HMICircle
Set objCircle = 
ActiveDocument.HMIObjects.AddHMIObject("myCircleAsCircle", 
"HMICircle")
With objCircle
'direct calling of objectproperties available
.BorderWidth = 4
.BorderColor = RGB(255, 0, 255)
End With
End Sub
4. To change the properties of a nonspecific object type ("HMIObject"), insert a 
"EditHMIObject()" procedure in the document "ThisDocument", for example. In this example 
a circle is inserted in the active picture and its line weight and color are modified:
Sub EditHMIObject()
'VBA34
Dim objObject As HMIObject
Set objObject = 
ActiveDocument.HMIObjects.AddHMIObject("myCircleAsObject", 
"HMICircle")
With objObject
'Access to objectproperties only with property "Properties":
.Properties("BorderWidth") = 4
.Properties("BorderColor") = RGB(255, 0, 0)
End With
End Sub
VBA for Automated Configuration
3.3 VBA in the Graphics Designer
WinCC: Scripting (VBS, ANSI-C, VBA)
System Manual, 02/2013, A5E32315920-AA
1649
5. To select an object in the current picture, insert a "SelectObject()" procedure in the 
document "ThisDocument", for example. In this example, a circle will be inserted in the 
active picture and selected:
Sub SelectObject()
'VBA35
Dim objObject As HMIObject
Set objObject = 
ActiveDocument.HMIObjects.AddHMIObject("mySelectedCircle", 
"HMICircle")
ActiveDocument.HMIObjects("mySelectedCircle").Selected = True
End Sub
VBA for Automated Configuration
3.3 VBA in the Graphics Designer
WinCC: Scripting (VBS, ANSI-C, VBA)
1650
System Manual, 02/2013, A5E32315920-AA
Documents you may be interested
Documents you may be interested