Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Userform beim Start zeigen

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
Autor Thema:  Userform beim Start zeigen (2355 mal gelesen)
Tut_Ench_Ammun
Mitglied
Dipl.-Ing. (FH)


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

Beiträge: 161
Registriert: 16.06.2005

AutoCAD MECHANICAL 2006
Inventor 10
Ansys Workbench 10.0/11.0
WIN XP - SP 2
Fujitsu Siemens Computers
Intel(R) Core(TM)2 CPU
2.13 GHz, 3.25 GB RAM

erstellt am: 23. Jul. 2007 08:03    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

Ein herzliches Guten morgen an alle,

habe ein einfaches Problem, jedoch keine passende Lösung.

Beim Öffnen einer AutoCad Zeichnung möchte ich, dass mir eine Userform angezeigt wird. Im Excel funktioniert das ja ganz einfach, mit:

Private Sub Workbook_Open()
UserForm1.Show
End Sub

Aber im Autocad???

Vielen Dank für die Hilfe.

MfG Tutti

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1357
Registriert: 24.07.2002

erstellt am: 23. Jul. 2007 08:58    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 Tut_Ench_Ammun 10 Unities + Antwort hilfreich

Hi Tutti,

Hier mal ein Beispiel aus der Hilfe:

Code:
Public WithEvents ACADApp As AcadApplication    ' Use with Application Event Examples
Sub Example_AcadApplication_Events()
    ' This example intializes the public variable (ACADApp) which will be used
    ' to intercept AcadApplication Events
    '
    ' The VBA WithEvents statement makes it possible to intercept an generic object
    ' with the events associated with that object.
    '
    ' Before you will be able to trigger any of the AcadApplication events,
    ' you will first need to run this procedure.
   
    ' We could get the application from the ThisDocument object, but that would
    ' require having a drawing open, so we grab it from the system.
    Set ACADApp = GetObject(, "AutoCAD.Application.17")
End Sub
Private Sub ACADApp_BeginOpen(FileName As String)
    ' This example intercepts an Application BeginOpen event.
    '
    ' This event is triggered when a drawing is opened by AutoCAD.
    '
    ' To trigger this example event:
    '    1) Make sure to run the example that initializes
    '    the public variable (named ACADApp) linked to this event.
    '
    '    2) Use AutoCAD to open an existing drawing

    ' Use the "FileName" variable to determine which drawing file is being opened
    MsgBox "A drawing is about to be loaded from: " & FileName
End Sub


Da kannst du ja einfach dein Userform1.Show dranhängen.

Gruß, Carsten

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

Tut_Ench_Ammun
Mitglied
Dipl.-Ing. (FH)


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

Beiträge: 161
Registriert: 16.06.2005

AutoCAD MECHANICAL 2006
Inventor 10
Ansys Workbench 10.0/11.0
WIN XP - SP 2
Fujitsu Siemens Computers
Intel(R) Core(TM)2 CPU
2.13 GHz, 3.25 GB RAM

erstellt am: 23. Jul. 2007 09:58    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

So. Hab ich ausprobiert funktioniert aber nicht.

Kann es sein, da wir im Hintergrund noch ein Zeichnungsverwaltungssystem laufen haben, daß das Makro nicht funktioniert bzw. die Befehle nicht angesprochen/übersrpungen werden?

Wahrscheinlich wird das Makro beim öffnen aufgerufen, aber dann sofort durch die Hintergrundroutinen rausgeschmissen?

Wie kann ich die Hintergrundroutinen stoppen bzw. im Makro einfügen, dass er alles stoppen soll, bis ich auf Okay in der Msgbox geklickt habe? (Bezugnehmend auf den Code von Carsten1210)

Code:
Private Sub ACADApp_BeginOpen(FileName As String)
    ' This example intercepts an Application BeginOpen event.
    '
    ' This event is triggered when a drawing is opened by AutoCAD.
    '
    ' To trigger this example event:
    '    1) Make sure to run the example that initializes
    '    the public variable (named ACADApp) linked to this event.
    '
    '    2) Use AutoCAD to open an existing drawing
    ' Use the "FileName" variable to determine which drawing file is being opened
    MsgBox "A drawing is about to be loaded from: " & FileName
End Sub


MfG Tutti

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1357
Registriert: 24.07.2002

erstellt am: 23. Jul. 2007 10:09    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 Tut_Ench_Ammun 10 Unities + Antwort hilfreich

Hi,

Starte doch mal die Sub Example_AcadApplication_Events() und danach öffne mal ne Zeichnung. Dann sollte das eigentlich funktionieren.

Gruß, Carsten

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

Tut_Ench_Ammun
Mitglied
Dipl.-Ing. (FH)


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

Beiträge: 161
Registriert: 16.06.2005

AutoCAD MECHANICAL 2006
Inventor 10
Ansys Workbench 10.0/11.0
WIN XP - SP 2
Fujitsu Siemens Computers
Intel(R) Core(TM)2 CPU
2.13 GHz, 3.25 GB RAM

erstellt am: 23. Jul. 2007 12:34    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


Fehler_VBA.jpg

 
Hi Carsten,

wenn ich das erste Makro starte kommt folgende Fehlermeldung

So - damit bin ich dann völlig überfragt.

MfG Tutti

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1357
Registriert: 24.07.2002

erstellt am: 23. Jul. 2007 15:13    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 Tut_Ench_Ammun 10 Unities + Antwort hilfreich

Hi,

Hab deine Antwort gerade erst gesehen. Ich denke, das mit einer Acad-Version <= 2006 arbeitest. Da musst du die 17 gegen eine 16 tauschen ==> Set ACADApp = GetObject(, "AutoCAD.Application.16")

Gruß, Carsten

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

Tut_Ench_Ammun
Mitglied
Dipl.-Ing. (FH)


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

Beiträge: 161
Registriert: 16.06.2005

AutoCAD MECHANICAL 2006
Inventor 10
Ansys Workbench 10.0/11.0
WIN XP - SP 2
Fujitsu Siemens Computers
Intel(R) Core(TM)2 CPU
2.13 GHz, 3.25 GB RAM

erstellt am: 24. Jul. 2007 08:16    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

So hier bin ich wieder.

Vielen Dank an Carsten für den "Anstubser".
Folgender Code hat mich zum Erfolg gebracht - Eingetragen in "ThisDrawing".

Code:
Public WithEvents AcadApp As AcadApplication

Private Sub AcadDocument_Activate()

Userform1.Show

End Sub


MfG Tutti

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1357
Registriert: 24.07.2002

erstellt am: 24. Jul. 2007 12: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 Nur für Tut_Ench_Ammun 10 Unities + Antwort hilfreich

Hi Tutti,

du weisst aber, das du bei AcadDocument_Activate() jedes mal deine Userform angezeigt bekommst, auch wenn du nur zwischen zwei Zeichnungen (Fenster) wechselst?!

Da würde doch eher mit BeginOpne arbeiten.

Gruß, Carsten

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

Tut_Ench_Ammun
Mitglied
Dipl.-Ing. (FH)


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

Beiträge: 161
Registriert: 16.06.2005

AutoCAD MECHANICAL 2006
Inventor 10
Ansys Workbench 10.0/11.0
WIN XP - SP 2
Fujitsu Siemens Computers
Intel(R) Core(TM)2 CPU
2.13 GHz, 3.25 GB RAM

erstellt am: 25. Jul. 2007 15:06    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

Ja. Funktioniert aber aus was für Gründen auch immer bei mir nicht. Nur der Activate-Befehl führt zum Erfolg.

Ich glaub langsam, das Datenverwaltungssystem im Hintergrund macht hier komische Dinge, von denen ich nichts weiß.

MfG Tutti

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)2023 CAD.de | Impressum | Datenschutz