Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Ereignisbehandlung, Aktive Zeichnung

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
Autor Thema:  Ereignisbehandlung, Aktive Zeichnung (660 mal gelesen)
finaluser
Mitglied


Sehen Sie sich das Profil von finaluser an!   Senden Sie eine Private Message an finaluser  Schreiben Sie einen Gästebucheintrag für finaluser

Beiträge: 3
Registriert: 07.07.2005

erstellt am: 07. Jul. 2005 15:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Kennt jemand eine Möglichkeit, in VBA eine Ereignissbehandlung zu schaffen, die auf einen Wechsel der aktiven Zeichnung reagiert?

MfG David


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

fuchsi
Mitglied
Programmierer c#.net Datawarehouse


Sehen Sie sich das Profil von fuchsi an!   Senden Sie eine Private Message an fuchsi  Schreiben Sie einen Gästebucheintrag für fuchsi

Beiträge: 1201
Registriert: 14.10.2003

AutoCad Version 2012 deu/enu
<P>Windows 7 64bit

erstellt am: 07. Jul. 2005 15:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für finaluser 10 Unities + Antwort hilfreich

wie wärs mit dem Reaktor

Private Sub AcadDocument_Activate()
    MsgBox ThisDrawing.Name
End Sub

Dieser Reaktor wird jedesmal dann aufgerufen, wenn sich die Aktuelle zeichnung ändert

------------------

Ing. Anton Fuchs
WWW.FFZELL.AT.TC

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

finaluser
Mitglied


Sehen Sie sich das Profil von finaluser an!   Senden Sie eine Private Message an finaluser  Schreiben Sie einen Gästebucheintrag für finaluser

Beiträge: 3
Registriert: 07.07.2005

erstellt am: 07. Jul. 2005 16:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hab ich schon probiert.
Das geht immer dann sobald ich auf die Zeichnung klicke, auf welche ich das "ActiveDocument" Objekt gelegt habe.
Aber wie kann VBA dieses Objekt selbstständig umlegen, sobald ich zwischen den Zeichnungen hin und her klicke?

Weißt du da vielleicht was?

MfG David

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Proxy
Ehrenmitglied
Stateless-DHCP v6-Paketfragmentierer


Sehen Sie sich das Profil von Proxy an!   Senden Sie eine Private Message an Proxy  Schreiben Sie einen Gästebucheintrag für Proxy

Beiträge: 1629
Registriert: 13.11.2003

Tastaturen, Mäuse,
Pladden, Monitore, ...,
einige AutoCADs 200x &
SWX 2kX

erstellt am: 08. Jul. 2005 10:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für finaluser 10 Unities + Antwort hilfreich

also AcadDocument_Activate() reagiert "sogar" auf alt+tab Tasten ... oder habe ich die Frage:
Zitat:
Aber wie kann VBA dieses Objekt selbstständig umlegen, sobald ich zwischen den Zeichnungen hin und her klicke?

missverstanden ?

Code:

Private Sub AcadDocument_Activate()
  Set activeDoc = ThisDrawing.Application.ActiveDocument
  MsgBox "Aktive Datei ist: " & activeDoc.Name, vbInformation, "Proy Beispiel"
End Sub


------------------
MfG Proxy

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

finaluser
Mitglied


Sehen Sie sich das Profil von finaluser an!   Senden Sie eine Private Message an finaluser  Schreiben Sie einen Gästebucheintrag für finaluser

Beiträge: 3
Registriert: 07.07.2005

erstellt am: 11. Jul. 2005 11:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

OK, also noch einmal ganz detailiert:
Zuerst habe ich mir eine Instanz des Programms heranngeholt und von dieser dann das Aktive Dokument.

        Sub GetAcadObjects()
          Set objACAD = GetObject(, "Autocad.Application")
          Set objDoc = objACAD.ActiveDocument
        End Sub
in objDoc ist jetzt ein Handler auf das "derzeitige" Aktive Dokument vorhanden, von dem ich alle Ereignisse abfangen kann.

Aber: öffne ich jetzt ein neues Dokument soll genau dieser Handler auf das neue Dokument umgelegt werden um auch von dieser neuen Zeichnung die Ereignisse zu behandeln.
Habe schon überlegt ein dynamisches array anzulegen, um über das AcadApplication.EndOpen() Ereignis neue Dokumente in dieses aufzunehmen. Das Problem ist nur, ich kann mit dem Schlüsselwort "WithEvents", mit dem ich die Variable objDoc anlege, eben kein Array anlegen.
Also brauche ich irgendetetwas, was mir mitteilt, dass sich das Aktive Dokument geändert hat. Alle Events wie auch das Activate() treten nur ein wenn es sich um ein und die selbe Zeichnung handelt, aber was passiert wenn ich eine neue öffne?
Oder vielleicht geht es auch irgendwie ganz anders?

MfG David

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz