Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Warum funkt das nicht? (sendcommand)

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 wird von NVIDIA zum Händler des Jahres gewählt - zum dritten Mal in Folge, eine Pressemitteilung
Autor Thema:  Warum funkt das nicht? (sendcommand) (3486 mal gelesen)
CB_
Mitglied
Bauingenieur


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

Beiträge: 163
Registriert: 20.01.2004

ACAD 2002, W2k, P4 1800Mhz, 512 MB RAM, 20GB HD,
2 Stck. TFT an Matrox G550

erstellt am: 14. Mrz. 2005 13: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

Hallo,

kann mir jmd sagen, warum dieser Code nicht funktioniert?


Dim acadApp As AcadApplication

On Error GoTo error
Set acadApp = GetObject(, "AutoCad.Application")
error:
If Err.Number = 429 Then
    If MsgBox("Acad ist nicht gestartet, möchten Sie es starten?", vbOKCancel) = vbOK Then
    Set acadpp = CreateObject("AutoCAD.Application")
    'acadApp.Visible = True
   
End If
Else
MsgBox "ACAD ist gestartet"
End If

acadApp.ActiveDocument.SendCommand ("filedia" & vbCr & "0" & vbCr)
acadApp.ActiveDocument.SendCommand ("öffnen" & vbCr & "C:\tmp\test\1-250.dwg" & vbCr)
acadApp.ActiveDocument.SendCommand ("filedia" & vbCr & "1" & vbCr)


End Sub


Also ACAD startet mit einem leeren Dokument, aber danach ists aus. Entweder Acad stürzt ab (wenn ACAD bereits gestartet) oder derLaufzeitfehler 91," Objektvariable oder With-Blockvariable ist nicht festgelegt" tritt auf, sobald der erste sendcommand befehl gestartet wird.

MfG

CB_

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

Abele
Mitglied



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

Beiträge: 71
Registriert: 09.06.2004

erstellt am: 14. Mrz. 2005 13: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 CB_ 10 Unities + Antwort hilfreich

Kann Dir leider nicht sagen warum das nicht geht, aber warum benutzt Du denn die Sendcommand-Funktion und nicht die Open-Funktion des Acads?

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

CB_
Mitglied
Bauingenieur


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

Beiträge: 163
Registriert: 20.01.2004

ACAD 2002, W2k, P4 1800Mhz, 512 MB RAM, 20GB HD,
2 Stck. TFT an Matrox G550

erstellt am: 14. Mrz. 2005 13:53    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

Weil ich die nicht kenne... (schäm)

bin absoluter Acad-VB-Noob.

Ich versuchs mal mit der open Methode.

und wie stelle ich filedia auf 0?

Ich muss für einen anderen Befehl alle Dialoge abschalten...


hmmmm.. vielleicht stelle ich filedia über ein lisp auf 0???

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

CB_
Mitglied
Bauingenieur


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

Beiträge: 163
Registriert: 20.01.2004

ACAD 2002, W2k, P4 1800Mhz, 512 MB RAM, 20GB HD,
2 Stck. TFT an Matrox G550

erstellt am: 14. Mrz. 2005 14:17    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 gehts besser..

acadApp.Documents.Open ("C:\tmp\test\1-250.dwg")
acadApp.ActiveDocument.SendCommand ("filedia" & vbCr & "0" & vbCr)
'bis hierhin gehts
acadApp.ActiveDocument.SendCommand ("-etransmit" & vbCr & "zip" & vbCr & "C:\tmp\test\1-250" & vbCr _
    & vbCr & "j" & vbCr & "n" & vbCr & "n" & vbCr & "j" & vbCr & "n" & vbCr & vbCr)

acadApp.Documents.Close


ABER: VB ist zu schnell, der Befehl wird schneller übergeben als Acad ihn verarbeiten kann...

Kennt da jmd ne Lösung??


MfG

CB_

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

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



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

Beiträge: 2494
Registriert: 02.11.2001

erstellt am: 14. Mrz. 2005 14:27    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 CB_ 10 Unities + Antwort hilfreich

@cb_
Ich kenne mich auch nicht sonderlich in VB aus, aber eines weiß ich:
"SendCommand" sollte man sicher nur dann nehmen, wenn es anders nicht geht...
Geh' mal bitte in den VBA-Editor und benutze die Suche aus dem Objektkatalog... Da kommt bei mir nach der Suche von setvar folgendes raus:
Code:

Sub SetVariable(Name As String, Value)
    Element von AutoCAD.AcadDocument
    Sets the value of an AutoCAD system variable

Ein Tip:
Steig erst mal durch die Objektstruktur und die grundlegende Bedienung des VBA-Editors durch bevor Du wild rum-"sendcommandest".
Wenn schon VBA (und nicht lisp) dann einigermaßen richtig.

------------------
Ciao,
Marc

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

ollibaer2004
Mitglied
Dipl. Ing. Versorgungstechnik


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

Beiträge: 54
Registriert: 28.06.2004

Athlon 64 4000
Windows Xp
ADT7 + Rocad 7
http://tga4acad.de.vu

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

hi zusammen,
@cb
versuch es doch mal über eine externe script-datei (z.b. test.scr)
i(st eine art batch-datei, in der du die befehle in der reihenfolge hinterlegt, wie du sie auch eingeben würdest)

aufrufen kann man die dann wie folgt:

Private Sub CommandButton5_Click()
Dim acadApp As AcadApplication
Set acadApp = GetObject(, "AutoCad.Application")
'Dialogboxen unterdrücken
acadApp.ActiveDocument.SendCommand ("filedia 0 ")
acadApp.ActiveDocument.SendCommand ("_script C:\test.scr" & vbCr)
End Sub

Inhalt der test.scr (text-datei)
----------------
filedia
1
-etransmit
zip
"C:\1-250"

j
n
n
n
n

-----------

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

CB_
Mitglied
Bauingenieur


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

Beiträge: 163
Registriert: 20.01.2004

ACAD 2002, W2k, P4 1800Mhz, 512 MB RAM, 20GB HD,
2 Stck. TFT an Matrox G550

erstellt am: 05. Apr. 2005 14: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

Moin OlliBär,

danke für Deinen Tipp, werde ich mal probieren.

Habe aber nun schon vorher eine Lösung. Guckst Du hier: http://ww3.cad.de/foren/ubb/Forum259/HTML/000550.shtml

MfG

Christian

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