Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  [INV 2015] Zeichnung VBA für Stückliste

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
  
PDM System überzeugt durch Einfachheit und Klassifizierungen (GAIN Collaboration)
Autor Thema:  [INV 2015] Zeichnung VBA für Stückliste (550 / mal gelesen)
IVDH808
Mitglied



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

Beiträge: 48
Registriert: 07.04.2014

Inventor 2021

erstellt am: 25. Feb. 2016 14:37    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,

wir haben in unserem Anwendungsprojekt VBA ein Modul das für die Berechnung der Stückzahlen in der Teileliste auf der Zeichnung verwendet wird, um aus kalkulierter Stückzahl und Überstücken die bestellte Menge zu errechnen.

Code:

Dim drawing As DrawingDocument
Dim sheet As sheet
Dim pList As PartsList
Dim pListRow As PartsListRow
Dim pListCell As PartsListCell
Dim cellIndex As Integer
Dim rowIndex As Integer
Dim columnIndex As Integer

Sub Stückzahlen()

Set drawing = ThisApplication.ActiveDocument
For Each sheet In drawing.Sheets
For Each pList In sheet.PartsLists
For Each pListRow In pList.PartsListRows


pListRow.ITEM(5).Static = False
 
If pListRow.ITEM(4) = "" Then

pListRow.ITEM(5) = pListRow.ITEM(3)

End If
If pListRow.ITEM(4) = "-" Then

pListRow.ITEM(5) = pListRow.ITEM(3)

End If
 
If pListRow.ITEM(5) = "" Then
       
     
If pListRow.ITEM(3).Value > " " Then
     
  pListRow.ITEM(5).Value = CLng(pListRow.ITEM(3).Value) + CLng(pListRow.ITEM(4).Value)
   

ElseIf pListRow.ITEM(3).Value = "*mm" Then

pListRow.ITEM(5).Value = pListRow.ITEM(3).Value
 
 
End If
End If

Next
Next
Next

End Sub


Das der Code nicht einwandfrei ist, ist mir klar :P. es fehlt vorallem auch ein "on Error" falls was schiefgeht.

Die eigentliche Frage ist jetzt: ist es möglich das VBA nur für die Zeilen auszufühen in denen sich "pListRow.ITEM(3)" (also kalkulierte Anzahl) geändert hat. da es bei größeren Stücklisten bis zu 1 min dauert bis er alle Zeilen durchgegangen ist um sie neu zu berechnen.

Noch besser als diese Lösung auf der Zeichnung wäre natürlich die Lösung gleich in der Baugruppe in der Stückliste. Das die Bestellte Stückzahl sich sofort aus kalkuliert und Überstücken bildet. Allerdings fehlt mir das VBA wissen um hierfür eine Lösung zu finden.

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