Schablonenpositionierung relativ zu Element per VBA

Schablonenpositionierung relativ zu Element per VBA

Hallo zusammen! Ich bin hier in eine Zwickmühle geraten: Nach langer Arbeit und Hilfe von VBA-Experten bei COPA-DATA habe ich es endlich geschafft ein Makro zu erstellen, das je nach Symbol(Motor 1, Motor2 oder Motor3) ein entsprechendes Pop-up öffnet mit den ersetzten Variablen mittels Indizen. Alles läuft super, das Pop-up erscheint. Problem: Leider funktioniert jedoch die Positionierung der Schablone relativ zum Element nicht mehr. Dies sehr warscheinlich, weil die Funktion im Makro gestartet wird und das Programm dann wahrscheinlich nicht versteht welches das Bezugselement ist zur Positionierung. Folglich lässt es die ganze Verschiebung weg und belässt die Schablone an der absoluten Position wie im Editor gezeichnet. Ich habe anfangs angenommen, dass wenn kein Bezugselement gefunden wird, die Schablone einfach von der absoluten Position aus entsprechend verschoben wird. Deshalb dachte ich mit DynProperties eine Lösung zu finden(2 auskommentierte zeilen):
VBA Code:
Const IndicesVariable As String = "IndexVariable" Public Sub LeftClickUp_Failure_OpenControls(obElem As Element) Dim zSwitch As RtFunction Dim zIndicesVar As Variable Dim zTemplate As Template Set zSwitch = thisProject.RtFunctions.Item("fct_Failure_OpenControls") Set zIndicesVar = thisProject.Variables.Item(IndicesVariable) Set zTemplate = thisProject.Templates.Item("Pop-up - Failure Controls") zIndicesVar.Value = obElem.StationName ' zTemplate.DynProperties("PixelHorz") = 1024 - obElem.Right + 35 ' zTemplate.DynProperties("PixelVert") = obElem.Top - 100 zSwitch.Start obElem.LeftClickUp End Sub
Geht aber wie gesagt nicht, da keine Verschiebung ausgeführt wird. Ist es irgendwie möglich per VBA mitzuteilen welches das Bezugselement ist? Wie kann ich diesen Fehler umgehen?:confused: Liebe Grüsse Agroscope

This is a migrated post! Originally posted on 25.03.2014 by user agroscope. Please be aware that information can be outdated.

    Disclaimer

    This document governs the use of our Community Forum. By registering and using the platform, you accept these conditions.

    The COPA-DATA Community Forum serves to encourage the exchange of information and experience about the zenon software between forum users respectively zenon users.

    Please mind that any published information on the Community Forum is the subjective opinion and view based on the experience and the level of knowledge of the author. COPA-DATA does not overtake any responsibility for the content and the accuracy of the shared information.

    Users of the Community Forum are encouraged to share only well-founded experiences and to point out any risks associated with the implementation of proposed solutions to problems. COPA-DATA at its absolute discretion, reserves the right to moderate the forum. In this connection COPA-DATA may remove any information containing false facts, potentially dangerous solutions, bad language or content that may insult, degrade or discriminate others. COPA-DATA may block a non-complying user from forum access if the user violated this provision.

    COPA-DATA reserves the right to change this document from time to time at own discretion.


    Ing. Punzenberger COPA-DATA GmbH
    Karolingerstraße 7b · 5020 Salzburg · Austria
    www.copadata.com