Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  acadApp.Documents.Item(i)

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
  
Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
Autor Thema:  acadApp.Documents.Item(i) (989 mal gelesen)
lbcad
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau und CAD-Trainer



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

Beiträge: 3850
Registriert: 15.02.2001

erstellt am: 10. Okt. 2007 17: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 Leute,

komme hier gar nicht weiter und wäre schön, wenn jemand eine Tipp hat:

Möchte von Excel aus in einer AutoCad-Zeichnung rumwerkeln.
Dazu benötige ich eine spezielle Zeichnungsdatei.
Die Überprüfung, ob diese Datei schon offen ist, kriege ich aber nicht hin:

Code:

        Dim i As Integer
        Dim acadDoc As AcadDocument
       
        For i = 1 To acadApp.Documents.Count
           
            acadDoc = acadApp.Documents.Item(i)
            If LCase$(acadDoc.FullName) = LCase$(ZuÖffnendeDatei) Then
                DateiSchonOffen = True
            End If
        Next
       


bei :

acadDoc = acadApp.Documents.Item(i)

bricht die Programmausführung ab mit der Meldung:

Laufzeitfehler '91':
Objektvariable oder With-Blockvariable nicht festgelegt


nu hab ich schon alles mögliche ... den Rest könnt Ihr Euch bestimmt denken.

Hat jemand einen Tipp ?

------------------
Gruß Lothar

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

Während man es aufschiebt, verrinnt das Leben.
Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.)

-----------------------------------------------------
Wir unterstützen die Arbeit der:
- Rettungshundestaffel des DRK Viersen
- Rettungshundestaffel Isar Ost

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: 1360
Registriert: 24.07.2002

AutoCAD ACA 2024
Solidworks 2022 Sp5
Enterprise PDM 2022 Sp5
Pascam Woodworks
Visual Studio 2017 Pro
Windows 10 64Bit
Dell Precision 3660
Intel Core i9-12900K
32 GB Arbeitsspeicher
2x Dell U2415

erstellt am: 10. Okt. 2007 21:05    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 lbcad 10 Unities + Antwort hilfreich

Hi Lothar,

Ohne es jetzt getestet zu haben, warum machst du es nicht so:

Code:

        Dim i As Integer
        Dim acadDoc As String
     
        For i = 1 To acadApp.Documents.Count
         
            acadDoc = acadApp.Documents.Item(i).Name
            If LCase$(acadDoc) = LCase$(ZuÖffnendeDatei) Then
                DateiSchonOffen = True
            End If
        Next

Gruß, Carsten

[Diese Nachricht wurde von Carsten1210 am 10. Okt. 2007 editiert.]

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

lbcad
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. Maschinenbau und CAD-Trainer



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

Beiträge: 3850
Registriert: 15.02.2001

erstellt am: 11. Okt. 2007 08: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

Hallo Carsten,

an diese Stelle ist das Programm in der Ausführung gar nicht gekommen. Deshalb habe ich daran gar nicht rumgewerkelt.

Aber die Lösung habe ich schliesslich gefunden.

Der Fehler lag in der Indexierung der For-Schleife.
hab es jetzt so gemacht:

Code:


    Dim DateiSchonOffen As Boolean
    DateiSchonOffen = False
       
    Dim i, ii As Integer
    Dim sFullName As String
       
    ii = acadApp.Documents.Count - 1
       
       
        ConnectToAcad
       
        For i = 0 To ii
           
            'MsgBox (acadApp.Documents.Item(i).FullName)
           
            sFullName = acadApp.Documents.Item(i).FullName
            If LCase$(sFullName) = LCase$(ZuÖffnendeDatei) Then
                DateiSchonOffen = True
                MsgBox ("Datei: " + ZuÖffnendeDatei + " ist schon geöffnet.")
            End If
        Next


------------------
Gruß Lothar

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

Während man es aufschiebt, verrinnt das Leben.
Lucius Annaeus Seneca (ca. 4 v. Chr - 65 n. Chr.)

-----------------------------------------------------
Wir unterstützen die Arbeit der:
- Rettungshundestaffel des DRK Viersen
- Rettungshundestaffel Isar Ost

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: 11. Okt. 2007 08: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 lbcad 10 Unities + Antwort hilfreich

Hallo Lothar,

ACADDOC ist ein Objekt. Das musst du per SET zuweisen.

Code:
set acadDoc = acadApp.Documents.Item(i)

Wilfried Stelberg

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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