Hallo ihr alle.
Ich habe ein VBA-Programm erhalten, um meine Stückliste in ein .xls Blatt zu exportieren
Alles läuft gut, bis auf eine Option, die ich nicht ändern kann.
Ich möchte, dass das Programm die aktuelle Konfiguration auswählt.
Derzeit wird nach der Konfiguration mit dem Namen "Default" gesucht
Konfiguration = "Standard"
Wenn jemand die Antwort kennt:)
****************************
Beispiel für Einfügen einer Stücklistentabelle und Extrahieren von Daten (VBA)
In diesem Beispiel wird gezeigt, wie Sie eine Stücklistentabelle einfügen und die Daten daraus extrahieren.
'-------------------------------------------------------
(') Voraussetzungen:
' 1. Vergewissern Sie sich, dass das angegebene Zeichnungsdokument, das geöffnet werden soll,
" existiert.
' 2. Öffnen Sie das Direktfenster.
'
' Postbedingungen:
' 1. Öffnet das angegebene Zeichnungsdokument.
' 2. Wählt eine Zeichnungsansicht aus.
' 3. Fügt eine Stücklistentabelle an der Stelle ein, an der die Zeichnung
" ausgewählt wurde.
' 4. Untersuchen Sie die Zeichnung und das Direktfenster.
'
' HINWEIS: Da die Zeichnung an anderer Stelle verwendet wird,
' Speichern Sie die Änderungen.
'-------------------------------------------------------
Option Explizit
Sub main()
Dim xlApp As Excel.Application
Legen Sie xlApp = Neue Excel.Anwendung fest
Dim wbk As Excel.Workbook
Dim sht As Excel.Arbeitsblatt
Mit xlApp
. Sichtbar = Wahr
Legen Sie wbk = fest. Arbeitsmappen.Hinzufügen
Setze sht = wbk. ActiveSheet (Englisch)
Enden mit
Dim swApp als SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swBOMAnnotation As SldWorks.BomTableAnnotation
Dim swBOMFeature As SldWorks.BomFeature
Dim boolstatus als boolescher Wert
BomType so lange dimmen
Konfiguration als Zeichenfolge dimmen
Dim TemplateName als Zeichenfolge
Legen Sie swApp = Application.SldWorks fest
Festlegen von swModel = swApp.ActiveDoc
Legen Sie swModelDocExt = swModel.Extension fest
TemplateName = "M:\DATENBANK\TEMPLATES\05-Modell der Nomenklatur\GP_ASM_Nomenclature BOS.sldbomtbt"
Stücklistentyp = swBomType_Indented
Konfiguration = "Standard"
Set swBOMAnnotation = swModelDocExt.InsertBomTable3(Vorlagenname, 0, 0, BomType, Configuration, False, swNumberingType_Detailed, True)
Set swBOMFeature = swBOMAnnotation.BomFeature
swModel.ForceRebuild3 Wahr
NumCol so lange dimmen
Dim NumRow so lange
Dimmen Sie so lange
Sun J So Lang
NumCol = swBOMAnnotation.ColumnCount
AnzahlZeile = swBOMAnnotation.ZeilenAnzahl
Für I = 0 bis NumRow
Für J = 0 TB NumCol
Sht. Zellen (I + 1, J + 1). Wert = swBOMAnnotation.Text(I, J)
Weiter J
Weiter I
boolstatus = swModelDocExt.SelectByID2(swBOMFeature.GetFeature.Description, "BOMFEATURE", 0, 0, 0, Wahr, 0, Nichts, 0)
swModel.EditDelete
swModel.ForceRebuild3 Wahr
Dim-Konfiguration als SldWorks.Configuration
Dim cusPropMgr As SldWorks.CustomPropertyManager
Dim lRetVal so lange
ValOut als String dimmen
Dim ResolvedValOut als Zeichenfolge
Dim wasResolved As Boolean
Dim nNbrProps so lange
Dim vPropNames als Variante
Dim vPropTypes als Variante
Dim vPropValues als Variante
Dimmen aufgelöst als Variante
Dim custPropType So lange
Dim K so lange
Dim NameProperty als Zeichenfolge
Legen Sie config = swModel.GetActiveConfiguration fest
Legen Sie cusPropMgr = config fest. CustomPropertyManager
nNbrProps = cusPropMgr.Anzahl
vPropNames = cusPropMgr.GetNames
Für K = 0 bis nNbrProps - 1
cusPropMgr.Get2 vPropNames(K), ValOut, AufgelöstValOut
custPropType = cusPropMgr.GetType2(vPropNames(K))
Wenn vPropNames(K) = "CARTOONIST" dann
PropertyName = AufgelöstValOut
Ende, wenn
Weiter K
Pfad als Zeichenfolge dimmen
Pfad = "C:\temp\BOS.xlsx"
Mit xlApp
WBK. Pfad "Speichern unter"
WBK. Schließen
. Verlassen
Enden mit
Ende Sub
insert-bom-asm_-_03.swp