Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Aus Excel Autocad aufrufen

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
  
NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
Autor Thema:  Aus Excel Autocad aufrufen (3807 mal gelesen)
Goofy79
Mitglied


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

Beiträge: 4
Registriert: 05.07.2005

erstellt am: 05. Jul. 2005 12:42    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 Allerseits!
Habe das große Problem, dass ich aus Excel Autocad aufrufen muss! Kann mir vielleicht jemand sagen, wie die Prozedur lauten muss, um z.B die Zeichnung c:\Zeichnung1.dwg aufzurufen?
Habe als Autocad AutoCAD Lt 2000, falls das von Bedeutung sein sollte...
Vielen Dank schonmal im Vorraus... ;-)

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

inventomas
Mitglied
Techniker


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

Beiträge: 94
Registriert: 25.12.2004

AIS10, ACAD2006, P4 2800 MHz, 1 GB RAM, 80 GB HD, Win XP Pro SP2

erstellt am: 05. Jul. 2005 13: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 Goofy79 10 Unities + Antwort hilfreich

Hallo,

Bei mir funktioniert das so:

Sub test()
Shell "C:\ACAD2006\acad.exe /o C:\Zeichnung1.dwg"
End Sub

Vorne steht der Pfad für AutoCAD je nach dem wo es intalliert ist.
Das einzige Problem was ich habe ist das ACAD nicht mit Vollbild gestartet wird.

Grüße Thomas

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

startrek
Moderator
Architekt


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

Beiträge: 1361
Registriert: 13.02.2003

.

erstellt am: 05. Jul. 2005 13:15    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 Goofy79 10 Unities + Antwort hilfreich

Hi Goofy,

starten kannst Du LT aus Excel vielleicht mit Shell, keine Ahnung, probier mal mit deinen Pfaden sowas:

Code:

Shell "c:\programme\internet explorer\iexplore.exe e:\index.htm"

Vermute aber bald, das ist dann auch schon das Einzige, was Du mit VBA und LT machen kannst ... ;-)

lg Nancy 

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

Goofy79
Mitglied


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

Beiträge: 4
Registriert: 05.07.2005

erstellt am: 06. 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

Vielen Dank, hat hervorragend funktioniert!!!
Allerdings wird die aufgerufene Zeichnung sehr klein dargestellt. Kann man das auch noch im Vorfeld ändern oder muss ich immer nach dem Öffnen manuell zoomen?

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

inventomas
Mitglied
Techniker


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

Beiträge: 94
Registriert: 25.12.2004

AIS10, ACAD2006, P4 2800 MHz, 1 GB RAM, 80 GB HD, Win XP Pro SP2

erstellt am: 06. Jul. 2005 16:04    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 Goofy79 10 Unities + Antwort hilfreich

Hallo,

Der Befehl lautet ZoomAll zum Zoomen

lg Thomas

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

Goofy79
Mitglied


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

Beiträge: 4
Registriert: 05.07.2005

erstellt am: 07. Jul. 2005 11:04    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

Ersteinmal Dankeschön, aber kann ich diesen "Zoomall-Befehl" auch vorher schon bei Excel einbinden?

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

inventomas
Mitglied
Techniker


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

Beiträge: 94
Registriert: 25.12.2004

AIS10, ACAD2006, P4 2800 MHz, 1 GB RAM, 80 GB HD, Win XP Pro SP2

erstellt am: 07. Jul. 2005 11:44    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 Goofy79 10 Unities + Antwort hilfreich

Hallo

Im Excel müßte das auch irgendwie machbar sein, hätte es Probiert bekomme aber ständig einen Laufzeitfehler.

Ich hätte noch einen anderen Weg:
Du müßtest dir ein AutoCAD Skript erstellen wo die Befehle drinenstehen. z.B: "_zomm _e " (Ohne Anführungszeichen und auf das Leerzeichen hinter _e achten.
Dieses dann beim Startbefehl hinzufügen:
C:\ACAD2006\acad.exe /o C:\Zeichnung1.dwg -b c:\Test.scr

Grüße
Thomas

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

Goofy79
Mitglied


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

Beiträge: 4
Registriert: 05.07.2005

erstellt am: 08. Jul. 2005 11:26    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

Mit kleiner Änderung hat's jetzt wunderbar geklappt!
Nochmals herzlichsten Dank!!!!!

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 18. Aug. 2005 15:12    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 Goofy79 10 Unities + Antwort hilfreich

Zur Fernbedienung dibt es noch eine Krücke


Dim handle As Long
handle = Shell("notepad.exe", vbNormalFocus)
If handle <> 0 Then
  AppActivate ("Unbenannt - Editor")
  SendKeys "Hallo Editor", True
End If

Bei appActivate muss man jedoch die korrekte Caption eintragen.
Ansonsten gibts noch eine win32 api "findwindow" oder so, mit der
man die Caption über das handle feststellen kann.

stelli1

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

Andreas Widmann
Mitglied
ATHENA Support/Training


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

Beiträge: 218
Registriert: 24.08.2005

erstellt am: 25. Aug. 2005 12:49    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 Goofy79 10 Unities + Antwort hilfreich

Um Autocad vollständig aus excel fernsteuern zu können musst du diese Initialisierung verwenden:

Code:

Dim ac As Object
Set ac = CreateObject("Autocad.application")
ac.visible = true

durch das ac.visible = true startet sich autocad

hiermit kannst du eine Zeichnung öffnen

Code:

ac.documents.Open

und hiermit kannst du zoomen

Code:

ac.sendcommand "_zoom "
ac.sendcommand "_e "


wichtig ist nur, dass hinter den Befehlen _zoom und _e ein leerzeichen steht (sozusagen das Enter für Autocadbefehle"

Mfg Andreas

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

Andreas Widmann
Mitglied
ATHENA Support/Training


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

Beiträge: 218
Registriert: 24.08.2005

Windows 10
Autocad 2015 - 2018
Athena 2015 - 2017 Aufsatz

erstellt am: 25. Aug. 2005 12:52    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 Goofy79 10 Unities + Antwort hilfreich

sorry die sendcommandanweisung muss natürlich so heissen:

ac.thisdrawing.sendcommand "_zoom "
ac.thisdrawing.sendcommand "_zoom "

Mfg Andreas

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

Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1526
Registriert: 17.08.2005

Map 2000-2014, Rasterdesign,
MapGuide, Autodesk Topobase,
VS6, VS.net 2013

erstellt am: 26. Aug. 2005 12: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 Nur für Goofy79 10 Unities + Antwort hilfreich

Zitat:
Dim ac As Object
Set ac = CreateObject("Autocad.application")
ac.visible = true

Hallo Andreas,
bei AutoCAD LT geht nichts mit CreateObject("Autocad.application")
da LT
Gruß
Stelli1

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

Andreas Widmann
Mitglied
ATHENA Support/Training


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

Beiträge: 218
Registriert: 24.08.2005

erstellt am: 29. Aug. 2005 12:31    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 Goofy79 10 Unities + Antwort hilfreich

Ok, das hab ich nicht gewusst und kann das jetzt auch nicht ausprobieren weil wir mittlerweile kein LT mehr benutzen und Autocad 2005 angeschafft haben (dachte aber das hätte auf LT funktioniert,war teil eines Batch-Converters von dxf zu dwg).

Wollte jezt das Excelfile anhängen aber das ist anscheinend nicht erlaubt 

Wenn das wirklich nicht geht, ist wohl die Idee von inventomas
mit dem Script die beste Lösung.
Mit Open- und der Print-Anweisung kann man das Script aus excel heraus ja ganz einfach erstellen.

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

Mfg Andreas

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

Björn Möller
Mitglied



Sehen Sie sich das Profil von Björn Möller an!   Senden Sie eine Private Message an Björn Möller  Schreiben Sie einen Gästebucheintrag für Björn Möller

Beiträge: 96
Registriert: 22.03.2004

AutoCad Map 2019 Topobase, MapKanal

erstellt am: 13. Jan. 2010 09:50    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 Goofy79 10 Unities + Antwort hilfreich

Hallo Forum,

ich habe noch eine Frage zu diesem Beitrag.
Kann ich aus Excel bzw. einem anderen Programm feststellen,
ob AutoCAD schon offen ist und dann ggf. nur die Datei öffnen,
aber nicht ein zweites Autocad?

Gruß Börn

Zitat
Dim ac As Object
Set ac = CreateObject("Autocad.application")
ac.visible = true


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


Ex-Mitglied

erstellt am: 13. Jan. 2010 11:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi,

>> Kann ich aus Excel bzw. einem anderen Programm feststellen,
>> ob AutoCAD schon offen ist

Ja kannst Du (mit 99%'er Wahrscheinlichkeit):

Code:
On Error Resume Next
Set ac = GetObject(,"AutoCAD.Application")
If ac is Nothing then
  'dann wurde AutOCAD nicht als laufend erkannt
  'also erstellen wir einen neuen Prozess
  Set ac = CreateObject("Autocad.application")

Wieso hab ich oben die Beschränkung auf 99% gemacht: Es kann sein, dass AutoCAD zum Zeitpunkt der Anfrage mit GetObject so ausgelastet ist, dass der ActiveX-Server von AutoCAD nicht antwortet. Und das resultiert dann darin, dass eben nichts zurückkommt. Wohl aber noch dazubemerkt: diese 99% sind wohl 99.99999%, aber man weiss ja nie. 

Um 100% Sicherheit zu haben, musst Du Dich mit der WinAPI auseinandersetzten und heraussuchen, wo Du direkt Prozesse überwachen/steuern kannst.

Noch ein kleiner Hinweis zu GetObject sei mir gestattet: Sind mehrere AutoCAD's gestartet, hast Du keinen Einfluss darauf, welcher ActiveX-Server (sprich welches der laufenden AutoCAD's) sich schneller meldet!

HTH, - alfred -

------------------
www.hollaus.at



Anzeige:Infos zum Werbeplatz >>

BlechCAD Verlegeplan CAD APP für AEC - Architektur-, Ingenieur- und Bauwesen, Blechverarbeitung

Metallbau- Fassadenbau- Planer, die aus einer Gebäudedraufsicht (Grundriss) die Flachdachbleche in freien selbst definierten Formen als Plan und Abwicklungen uns Listen erzeugen

Björn Möller
Mitglied



Sehen Sie sich das Profil von Björn Möller an!   Senden Sie eine Private Message an Björn Möller  Schreiben Sie einen Gästebucheintrag für Björn Möller

Beiträge: 96
Registriert: 22.03.2004

AutoCad Map 2019 Topobase, MapKanal

erstellt am: 13. Jan. 2010 22: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 Goofy79 10 Unities + Antwort hilfreich

Hi Alfred,

danke für Deine schnelle Hilfe.

Gruß Björn

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