Hoi allemaal.
Ik heb een VBA-programma om mijn stuklijst in een .xls te exporteren
Alles gaat goed, behalve één optie die ik niet kan veranderen.
Ik zou graag willen dat het programma de huidige configuratie kiest.
Momenteel is het op zoek naar de configuratie met de naam "Standaard"
Configuratie = "Standaard"
Als iemand het antwoord weet:)
****************************
Stuklijsttabel invoegen en gegevensvoorbeeld extraheren (VBA)
In dit voorbeeld ziet u hoe u een stuklijsttabel invoegt en de gegevens daaruit extraheren.
'-------------------------------------------------------
' Randvoorwaarden:
" 1. Controleer of het gespecificeerde tekeningdocument moet worden geopend
' bestaat.
' 2. Open het venster Onmiddellijk.
'
' Postvoorwaarden:
' 1. Opent het opgegeven tekeningdocument.
' 2. Selecteert een tekening.
" 3. Voegt een stuklijsttabel in op het punt waar de tekening
" werd geselecteerd.
' 4. Bestudeer de tekening en het onmiddellijke venster.
'
' OPMERKING: Omdat de tekening elders wordt gebruikt, mag u deze niet
' Sla de wijzigingen op.
'-------------------------------------------------------
Optie Expliciete
Sub hoofd()
Dim xlApp als Excel.Application
Stel xlApp in = Nieuwe Excel.Toepassing
Dim wbk als Excel.Workbook
Dim sht als Excel.Werkblad
Met xlApp
. Zichtbaar = Waar
Stel wbk in = . Werkmappen.Toevoegen
Stel sht in = wbk. Actief blad
Eindigen met
Dim swApp als SldWorks.SldWorks
Dim swModel als SldWorks.ModelDoc2
Dim swModelDocExt als SldWorks.ModelDocExtension
Dim swBOMAnnotatie als SldWorks.BomTableAnnotation
Dim swBOMFeature As SldWorks.BomFeature
Dim boolstatus als Booleaanse
Dim BomType zo lang
Dim configuratie als tekenreeks
Dim TemplateName als tekenreeks
Stel swApp = Toepassing.SldWorks in
Stel swModel = swApp.ActiveDoc in
Stel swModelDocExt = swModel.Extension in
TemplateName = "M:\DATABASE\TEMPLATES\05-Model van nomenclatuur\GP_ASM_Nomenclature BOS.sldbomtbt"
BomType = swBomType_Indented
Configuratie = "Standaard"
Stel swBOMAnnotatie in = swModelDocExt.InsertBomTable3(TemplateName, 0, 0, BomType, Configuratie, False, swNumberingType_Detailed, True)
Stel swBOMFeature = swBOMAnnotation.BomFeature in
swModel.ForceRebuild3 Waar
Dim NumCol zo lang
Dim NumRow zo lang
Dim ik zo lang
Zon J Zo lang
NumCol = swBOMAnnotatie.ColumnCount
NumRow = swBOMAnnotatie.RowCount
Voor I = 0 om te numrowen
Voor J = 0 TB NumCol
Sht. Cellen (I + 1, J + 1). Waarde = swBOMAnnotatie.Tekst(I, J)
Volgende J
Volgende I
boolstatus = swModelDocExt.SelectByID2(swBOMFeature.GetFeature.Description, "BOMFEATURE", 0, 0, 0, True, 0, Nothing, 0)
swModel.EditDelete
swModel.ForceRebuild3 Waar
Dim config As SldWorks.Configuration
Dim cusPropMgr As SldWorks.CustomPropertyManager
Dim lRetVal zo lang
Dim ValOut als snaar
Dim ResolvedValOut als tekenreeks
Dim wasOpgelost als Booleaanse
Dim nNbrProps zo lang
Dim vPropNames als variant
Dim vPropTypes als variant
Dim vPropValues als variant
Dim opgelost als variant
Dim custPropType zo lang
Dim K zo lang
Dim NameProperty als tekenreeks
Set config = swModel.GetActiveConfiguration
Stel cusPropMgr in = config. CustomPropertyManager
nNbrProps = cusPropMgr.Count
vPropNames = cusPropMgr.GetNames
Voor K = 0 Naar nNbrProps - 1
cusPropMgr.Get2 vPropNames(K), ValOut, ResolvedValOut
custPropType = cusPropMgr.GetType2(vPropNames(K))
Als vPropNames(K) = "CARTOONIST" Dan
PropertyName = OpgelostValOut
Einde als
Volgende K
Dim pad als snaar
path = "C:\temp\BOS.xlsx"
Met xlApp
wbk. Pad OpslaanAls
wbk. Sluiten
. Verlaten
Eindigen met
Einde Sub
invoegen-bom-asm_-_03.swp