Hallo
Ich interessiere mich für dieses Makro , mit dem Sie mit einem Klick eine Excel-Stückliste aus einer Baugruppe erstellen können, aber ich möchte es so ändern, dass es eine Excel-Vorlage verwendet, in der ich einige Dinge eingerichtet habe (Makro, mit dem Sie die Eigenschaften in der SW ändern können, Liste der Dropdown-Optionen)
Hier ist der Code für das ursprüngliche Makro:
Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.AssemblyDoc
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swBOMAnnotation As SldWorks.BomTableAnnotation
Dim swBOMFeature As SldWorks.BomFeature
Dim BomType As Long
Dim Configuration As String
Dim TemplateName As String
Dim swConfig As SldWorks.Configuration
Dim xlApp As Excel.Application
Dim wbk As Excel.Workbook
Dim sht As Excel.Worksheet
Dim NumCol As Long
Dim NumRow As Long
Dim I As Long
Dim J As Long
Dim chemin As String
Sub xls()
' On ouvre un nouvel objet Excel
Set xlApp = New Excel.Application
' On rend Excel visible avec un nouveau classeur
With xlApp
.Visible = True
Set wbk = .Workbooks.Add
Set sht = wbk.ActiveSheet
End With
' On se raccroche à l'application SW
Set swApp = Application.SldWorks
' On se raccroche au document SW ouvert
Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension
' On définit le modèle de nomenclature
TemplateName = "Z:\BIBLIO\BIBLIO_LOGICIEL\BIBLIO_SOLIDWORKS\SOLIDWORKS_FORMALISME_CLEO\Modèle de nomenclature\9999_Nomenclature_SW.sldbomtbt"
BomType = swBomType_Indented
' On récupère la configuration active
Set swConfig = swModel.GetActiveConfiguration
Configuration = swConfig.Name
' On insère la nomenclature dans le 3D
Set swBOMAnnotation = swModelDocExt.InsertBomTable3(TemplateName, 0, 1, BomType, Configuration, False, swNumberingType_Detailed, True)
Set swBOMFeature = swBOMAnnotation.BomFeature
' On reconstruit le 3D
swModel.ForceRebuild3 True
' On remplit les cellules de Excel à partir des valeurs de la nomenclature
NumCol = swBOMAnnotation.ColumnCount
NumRow = swBOMAnnotation.RowCount
For I = 0 To NumRow
For J = 0 To NumCol
sht.Cells(I + 1, J + 1).Value = swBOMAnnotation.Text(I, J)
Next J
Next I
' On définit le nom complet du fichier Excel
chemin = Environ("USERPROFILE") & "\Desktop\" & "export" & ".xls"
' On sauvegarde le fichier Excel puis on ferme Excel
With xlApp
wbk.SaveAs chemin
wbk.Close
.Quit
End With
End Sub
Ich stelle mir vor, dass der zu ändernde Abschnitt wie folgt aussieht:
Dim wbk As Excel.Workbook
oder
' On ouvre un nouvel objet Excel
Set xlApp = New Excel.Application
' On rend Excel visible avec un nouveau classeur
With xlApp
.Visible = True
Set wbk = .Workbooks.Add
Set sht = wbk.ActiveSheet
End With
aber ich weiß nicht, wie ich den Pfad meines XLS-Modells angeben soll
Danke für Ihre Hilfe