COPA-DATA  



VBA All about VBA, automatic engineering, the zenon project wizard, ...

Reply
  #1  
Old 29th June 2010, 14:45
rln rln is offline
New Member
 
Join Date: 26.04.2010
Posts: 13
Default Verknüpfungen eine Bildumschaltung-Funktion durch VBA ersetzen

Hallo zusammen,

ich habe eine Bildumschaltung-Funktion durch VBA neu angelegt und diese Funktion mit einem Bild verknüpft:

Visualbasic Code:
Set zPIC = zPRJ.DynPictures.Item("MOV_Drive_Brake4")
    Set zFCT = zPRJ.RtFunctions.Item("MOV1haupt_MOV_4_BU")
    If zFCT Is Nothing Then
        Set zFCT = zPRJ.RtFunctions.Create("MOV1haupt_MOV_4_BU", tpPicture)
    End If
    zFCT.DynProperties("Picture") = zPIC.name

Ich möchte unter Filter Verknüpfungen ersetzen. Das heißt, die Parametern des verknüpften Bilds die mit einer Bezeichnung anfangen, sollten mit den Werten einer Variable ersetzt werden.

Wie könnte man das durch VBA schaffen?

Grüße,
rln
Reply With Quote
  #2  
Old 29th June 2010, 23:43
markclemens's Avatar
markclemens markclemens is offline
Moderator
 
Join Date: 25.05.2007
Location: Brisbane
Posts: 932
Default Re: Verknüpfungen eine Bildumschaltung-Funktion durch VBA ersetzen

vielleicht hilft eines dieser Threads schon weiter:

popup variables

manipulate dynproperties during runtime

Symbol - vernküpfungen ersetzen
__________________
do it your way!

Reply With Quote
  #3  
Old 30th June 2010, 12:49
rln rln is offline
New Member
 
Join Date: 26.04.2010
Posts: 13
Default Re: Verknüpfungen eine Bildumschaltung-Funktion durch VBA ersetzen

Danke, die Threads haben mir geholfen.

Es funktioniert aber nicht wie es soll. Ich habe folgendes gemacht:

Visualbasic Code:
For i = 0 To CLng(zFCT.DynProperties("PictSwitch.SubstiVar")) - 1
        strTemp = zFCT.DynProperties("PictSwitch.SubstiVar[" & i & "].Source")
        strTemp = Replace(strTemp, "MOV_Drive_", "MOV1auss")
        zFCT.DynProperties("PictSwitch.SubstiVar[" & i & "].Destination") = strTemp
Next i

Es funktioniert nur wenn über den Editor im Filter-Dialog „Verknüpfungen ersetzen“ schon Variablen geändert wurden. Das heißt, wenn vor der Ausführung der Schleife, etwas in den Bereichen "Source" und* "Destination" schon vorhanden ist.
Wenn die Funktion neu über VBA angelegt wird, können diese Eigenschaften „noch“ nicht ausgelesen werden.

Ist das ein Bug oder habe ich etwas falsch gemacht?

Danke im Voraus,
rln
Reply With Quote
  #4  
Old 30th July 2010, 12:38
tobiassedlmeier tobiassedlmeier is online now
Moderator
 
Join Date: 29.07.2007
Posts: 4
Default Re: Verknüpfungen eine Bildumschaltung-Funktion durch VBA ersetzen

Um die Variablen und Funktionen zu substituieren, müssen erst in VBA die dynProperties hierfür erzeugt werden. Danach kann auch "Source" und "Destination" verknüpft werden.

Im Folgenden finden Sie einen VBA Code, mit dem eine neue zenon Bildumschaltungsfunktion angelegt und eine Variable substituiert wird.

Sub ChangeFunction()
Dim zFCT As RtFunction
Dim strTemp As String
Dim i As Integer
Dim strDest As String

Set zFCT = MyWorkspace.ActiveDocument.RtFunctions.Create("Fun ction 8", tpPicture)


With zFCT
.DynProperties("PictSwitch.Picture") = "PopUp"
.CreateDynProperty ("PictFilter[0]")
Debug.Print CLng(.DynProperties("PictSwitch.SubstiVar"))

'Check if PictSwitch is substituted. if is "0" that means this is no
'substitution. it is a normal picture switch
If CLng(.DynProperties("PictSwitch.SubstiVar")) = 0 Then
.CreateDynProperty ("PictSwitch.SubstiVar")
End If

'Now you set your 1st picture switch with substitution
.DynProperties("PictSwitch.SubstiVar[0].Source") = "PopUp_10"
.DynProperties("PictSwitch.SubstiVar[0].Destination") = "PopUp_12"

End With

End Sub
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Mit Mouseover eine Funktion ausführen?? zuercher VBA 4 26th November 2009 17:47
Ungültiges Argument bei Funktion Rezept Manager affoltep Engineering and Project-planning 2 15th September 2009 12:55
Symbol - Verknüpfung ersetzen alice18 VBA 1 10th December 2008 14:21
Anlegen und Parametrieren von Funktion Typ „Treiber Kommandos“ hp VBA 5 16th October 2008 07:56
Daten in einem VBA-Formular an eine Variable übergeben herrmoartl VBA 3 29th July 2008 09:24


All times are GMT +1. The time now is 13:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.