|
Autocad VBA : Maximieren eines geöffneten Programms
JürgenBecker am 25.09.2004 um 10:02 Uhr (0)
Hallo TP, ich glaube schon das Du was falsch verstanden hast. Wie eine Instanz eines WORD bzw. EXCEL s zerstört wird ist mir bekannt. Das ist auch nicht mein Problem. OK: Ich habe mich vielleicht falsch ausgedrückt. stell Dir vor Du schreibst ein Programm mit VB (nicht VBA), kompilierst es und rufst es ganz normal über Start-Programme und so auf. Also nicht im AutoCAD oder ähnlich, sondern ein eigenständiges Programm. Du machst auch keine Instanz auf irgend ein anderes Programm wie Word z.B. Und nun gehst ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Abfangen vom Befehl Voreinstellungen mit AcadDocument_BeginCommand
Mike_mair am 25.09.2004 um 16:02 Uhr (0)
Danke Holger, dass mit dem Befehle BFLÖSCH hab ich noch nicht gewusst, kann ich auch sicher mal verwenden... Hab aber das Problem weiterhin, weil meine Benutzer die Optionen mit Rechte Maustaste auf Befehleszeile -- Optionen, öffnen.Und da Verwendet AutoCAD den Befehl _.options (und durch den Punkt kann ich die Befehl mit bflösch nicht deaktivieren). Also hat sonst noch jemand eine idee wie ich das mit den Optionen hand haben kann. Das gleiche Problem erwartet mich auch mit Anpassen das mit Rechte Mau ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Acad2004
cnc am 25.09.2004 um 17:28 Uhr (0)
Hi! Habe gerade festgestellt das dieser code bei acad2004 nicht funktioniert. Weiss jemand warum?? thx Public Sub ConnectToAcad() On Error Resume Next Set AcadApp = GetObject(, AutoCAD.Application ) AcadApp.Visible = True Set ThisDrawing = AcadApp.ActiveDocument If Err Then Err.Clear Set AcadApp = CreateObject( AutoCAD.Application ) AcadApp.Visible = True Set ThisDrawing = AcadApp.ActiveDocument If Err Then MsgBox Err.Description ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Acad2004
BloodyMess am 25.09.2004 um 18:30 Uhr (0)
Hallo CNC, ich tippe mal darauf, das Du statt Code: ... AutoCAD.Application ... schreiben solltest Code: ... AutoCAD.Application.15 Bin mir nicht sicher, ob 2004 die .15 hat sonst kuck mal in der Regedit unter HKEY_CLASSES_ROOT - AutoCAD.Application - CurVer was dort als wert eingetragen ist. Das musst Du dann in die Gänsefüsschen schreiben. Wenn dies nicht funktioniert, kannst mal deinen Fehler näher beschreiben und wo´s hängt. Gruß TP ------------------
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Acad2004
cnc am 25.09.2004 um 18:43 Uhr (0)
Also,2004 ist die wersion 16,und 2002 wersion 15. ... AutoCAD.Application.15 funktioniert prima ... AutoCAD.Application.16 bringt ne fehlermeldung: Objektvariable oder With-Blockvariable nicht festgelegt Der eintrag in der Reg. ist nach Acad2002 ausführen: HKEY_CLASSES_ROOTAutoCAD.ApplicationCurVer= AutoCAD.Application.15 und HKEY_CLASSES_ROOTAutoCAD.ApplicationCurVer= AutoCAD.Application.16 nach Acad2004 ausführen [Diese Nachricht wurde von cnc am 25. Sep. 2004 editiert.]
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Maximieren eines geöffneten Programms
BloodyMess am 25.09.2004 um 19:23 Uhr (0)
Hallo Jürgen, zu 1 tens ... Benutze bitte diesen Link http://ww3.cad.de/foren/ubb/Forum259/HTML/000319.shtml .. und dann erweiterst Du einfach diesen Teil Code: If Left$(aa, InStr(aa, Chr$(0)) - 1) = acad.exe Then MsgBox AutoCAD läuft End If um eine Funktion oder Schleife oder was auch immer, was Dir halt zählt, wie oft das Programm läuft. 1 bekommst Du mindestens zurück, da dein Programm schon läuft, wenn er die Prozesse überprüft. zu 2 tens In meinem Falle war das Object Excel, bei Dir ist ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Abfangen vom Befehl Voreinstellungen mit AcadDocument_BeginCommand
mapcar am 27.09.2004 um 02:15 Uhr (0)
a) im Menü _.options durch _options ersetzen oder b) nicht BeginCommand, sondern im CommandEnded-Event ein UNDO fahren. Das ist gemein, aber hochgradig pädagogisch. Allerdings könnte dich der Gegner mit einem REDO mattsetzen, wenn er auch gemein ist;-) oder: c) in BeginCommand alle Werte speichern + in CommandEnded wieder zurücksetzen. Das ist die gemeinste Methode... Gruß, Axel Strube-Zettler ------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Führungslinienkommentar via VBA
Kocher am 27.09.2004 um 11:32 Uhr (0)
Hallo zusammen, ist es möglich einen sogenannten Führungslinienkommentar (unter Menü Detaillierung) via VBA-Makro zu erstellen? Es soll der Textinhalt und das Aussehen (Text; Ausrichtung: Mitte der oberen Linie ; Pfeilspitze) vorgegeben werden. Der User sollte also lediglich die Führungslinie(n) und die Text-Position bestimmen müssen. Gruß - Tilman WIN2000 Autocad-Mechanical 2004DX/2005
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Blöcke auslesen
BerndE am 27.09.2004 um 14:16 Uhr (0)
Hi Forum, Um meine Zeichnung nach Blöcken mit Attributen zu durchsuchen und dann die Inhalte auszulesen gehe ich bisher immer so vor: For Each elem In AcadApp.ActiveDocument.ModelSpace If Mid(elem.Name, 1, 5) R_st_ Then GoTo next_elem With elem If StrComp(.EntityName, AcDbBlockReference , 1) = 0 Then If .HasAttributes Then ....usw End if End if End if next_elem: Next Elem Ich überprüfe also JEDES AutoCad-Element darau ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Blöcke auslesen
Brischke am 27.09.2004 um 14:21 Uhr (0)
Hallo Bernd, klar geht das schneller. Filterlisten sollten dir helfen .. aber in Lisp istr s einfacher. Schau hier , da habe ich mal ein Filterlistenkonstrukt veröffentlicht. Alternativ kanst du auch auf meiner Seite das VBA-Tutorial ziehen. Darin ist das Thema auch behandelt. Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Blöcke auslesen
Brischke am 27.09.2004 um 14:22 Uhr (0)
Zitat: Original erstellt von CADmium: durchlaufe einfach die [b]blocks aus AcadApp.ActiveDocument [/B] @cadmium wenn er an die Attribute will, dann langt das nicht, denn die hängen ja am INSERT. Um rauszufinden, ob es die Blöcke überhaupt gibt .. ok, dann deine Variante. Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Blöcke auslesen
Brischke am 27.09.2004 um 14:41 Uhr (0)
Zitat: Original erstellt von BerndE: ... Nachdem Lisp auch immer mal wieder totgesagt wird, wollte ich mich auch nicht mehr mit beschäftigen (war das ein falscher Entschluss?)... Totgesagte leben länger. Ich denke mittelfristig sind beide noch von Bestand. Ich gehe nicht davon aus, dass die eine Programmiersprache die andere wesentlich länger überleben wird. Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s h ...
|
| In das Form Autocad VBA wechseln |
|
Autocad VBA : Late binding
BerndE am 27.09.2004 um 15:36 Uhr (0)
Hi Forum Muss das hier noch mal aufwärmen. Irgendwie scheint bei mir generell der Wurm drin zu sein mit meinem late binding. Wär mal jemand so freundlich und würde sich den folgenden Code mal anschauen und mir seine Meinung sagen? Dim AcadApp As Object . . Set AcadApp = GetObject(, Autocad.Application ) If Err Then Err.Clear Set AcadApp = CreateObject( Autocad.Application ) AC_Zustand = False AcadApp.Visible = True If Err Then Err.Cle ...
|
| In das Form Autocad VBA wechseln |