Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  VBA-Eintrag beim öffnen löschen

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
Autor Thema:   VBA-Eintrag beim öffnen löschen (224 mal gelesen)
Empl
Mitglied
Maschinenbautechniker


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

Beiträge: 27
Registriert: 16.06.2011

TAROX Worksation
Intel Core i9-9900k 3,6Ghz
64GB RAM; Nvidia Quadro RTX4000
Software:
Windows 10 64bit
Inventor 2020
AutoCAD Mechanical 2020
AutoCAD Plant 3D 2020

erstellt am: 27. Okt. 2020 15:32    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 zusammen,

wir haben bei unseren Bauteilen einen VBA-Eintrag der bei größeren Baugruppen (ab ca. 3500 Bauteile) Probleme macht.
Dabei handelt es sich um ein Relikt aus alten Zeiten welches nicht mehr verwendet wird.

Gibt es eine Möglichkeit, diesen Eintrag beim Öffnen der Datei/Baugruppe automatisch zu löschen?
Kann man hierfür einen Eintrag in der übergeordneten Default.ivb machen der das übernimmt?
Wie müsste dieser aussehen.

Danke für eure Hilfe


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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 331
Registriert: 19.09.2007

Inventor Professional 2016
Win7

erstellt am: 27. Okt. 2020 17:00    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 Empl 10 Unities + Antwort hilfreich

zum Einstieg
VBComponent.Remove

Remove method (VBA Add-In Object Model)

folgenden Code habe ich kurz ausprobiert:
das aktive Dokument enthielt "Module1". Dieses Modul wurde damit gelöscht.

Code:
Private Sub test()
    Dim oDoc As PartDocument
    Set oDoc = ThisApplication.ActiveDocument
   
    Dim a As InventorVBAProject
    Set a = oDoc.VBAProject
   
    Dim b
    Set b = a.VBProject
   
    Dim oModule
    Set oModule = b.VBComponents.Item("Module1")
   
    Call b.VBComponents.Remove(oModule)
   
End Sub

------------------
Gruß KraBBy

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

Empl
Mitglied
Maschinenbautechniker


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

Beiträge: 27
Registriert: 16.06.2011

TAROX Worksation
Intel Core i9-9900k 3,6Ghz
64GB RAM; Nvidia Quadro RTX4000
Software:
Windows 10 64bit
Inventor 2020
AutoCAD Mechanical 2020
AutoCAD Plant 3D 2020

erstellt am: 28. Okt. 2020 08: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

Hallo,
danke schon mal.
Grundsätzlich funktioniert der Code, aber nur bei der ersten Datei.
Ich hab hier im aktuellen Projekt in der Gesamtbaugruppe ca. 1800 verschiedene BT´s verbaut.
In allen ist das Modul1 enthalten.

Nach der ersten Datei wird aber nix mehr gelöscht.

Wie muss man den Code ergänzen um das zu bewirken.

Sorry für die Fragen. Was VBA betrifft bewege ich mich gerade auf kompletten Neuland und werds auch hinterher sicher nicht mehr brauchen.

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

EIBe 3D
Mitglied
Dipl. - Ing. (FH)


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

Beiträge: 101
Registriert: 24.01.2020

HP Z4 G4 Workstation
Xeon 3,6 32GB
Nvidia P2000
WIN10
SW2015 SP5.0
SW2017
*************
Inv2018 akt.SP

erstellt am: 28. Okt. 2020 09:57    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 Empl 10 Unities + Antwort hilfreich

Hallo Empl,

probier das mal (erstmal an einer kleinen Baugruppe!)

Code:

Private Sub test()
   
    Dim oApp As Inventor.Application: Set oApp = ThisApplication

    Dim oDoc As Inventor.Document: Set oDoc = oApp.ActiveDocument
    Dim oAsmDoc As Inventor.AssemblyDocument: Set oAsmDoc = oDoc

    Dim oAllRefDocs As Inventor.DocumentsEnumerator: Set oAllRefDocs = oAsmDoc.AllReferencedDocuments 'Im Dokument und allen Unterdokumenten referenzierte Komponenten
    Dim oRefDoc As Inventor.Document
   

    For Each oRefDoc In oAllRefDocs
 
    Dim a As InventorVBAProject
    Set a = oRefDoc.VBAProject
   
    Dim b
    Set b = a.VBProject
   
    Dim oModule
    Set oModule = b.VBComponents.Item("Module1")
   
    Call b.VBComponents.Remove(oModule)
   
    Next
 
End Sub


Ich habe gerade keine Zeit das zu testen.


Wenn der VBA-Code nur in Bauteilen steckt folgender Code:

Code:

Private Sub test()
   
    Dim oApp As Inventor.Application: Set oApp = ThisApplication

    Dim oDoc As Inventor.Document: Set oDoc = oApp.ActiveDocument
    Dim oAsmDoc As Inventor.AssemblyDocument: Set oAsmDoc = oDoc

    Dim oAllRefDocs As Inventor.DocumentsEnumerator: Set oAllRefDocs = oAsmDoc.AllReferencedDocuments 'Im Dokument und allen Unterdokumenten referenzierte Komponenten
    Dim oRefDoc As Inventor.Document
   

    For Each oRefDoc In oAllRefDocs
   
    If oRefDoc.DocumentType = kPartDocumentObject Then
 
        Dim a As InventorVBAProject
        Set a = oRefDoc.VBAProject
       
        Dim b
        Set b = a.VBProject
       
        Dim oModule
        Set oModule = b.VBComponents.Item("Module1")
       
        Call b.VBComponents.Remove(oModule)
   
    End If
   
    Next
 
End Sub



Grüße

EIBe 3D

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik


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

Beiträge: 1653
Registriert: 15.11.2006

Windows 10 x64, AIP 2021

erstellt am: 30. Okt. 2020 10:54    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 Empl 10 Unities + Antwort hilfreich

Hallo

Wenn der Code Probleme macht, handelt es sich wahrscheinlich um die alte Automakro Seuche?
Brian Ekins hat mal eine lesenswerte Lösung präsentiert. Interessant ist die Möglichkeit die Makros nicht zu löschen, sondern nur zu kommentieren und gezielter nach einzelnen Makros suchen zu können.

------------------
MfG
Ralf

RKW Solutions GmbH
www.RKW-Solutions.com

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