![]() |
|
Bitte drücken Sie nicht mehrfach auf "Antwort speichern".
*Ist HTML- und/oder UBB-Code aktiviert, dann können Sie HTML und/oder UBB Code in Ihrem Beitrag verwenden.
Beiträge: 76 / 0 Solidworks 2012 SP5.0 ich habe anhand eines anderen Beitrags schon einen Code für ein Makro gefunden und für mich etwas angepasst (http://forum.cad.de/foren/ubb/Forum2/HTML/019349.shtml). Da ich leider nicht sonderlich bewandert bin, was Makros angeht, kann mir da wer helfen? Danke für die Hilfe Anbei noch das Makro als Text, eventuell steckt dort auch ein Fehler drin: Const AllConfigs = 0 Public Enum swCustomInfoType_e Dim swApp As Object Dim PropType As Long Set swApp = CreateObject("SldWorks.Application") Beiträge: 2620 / 3646 SolidWorks_2o18 SP4.o ------------------ Beiträge: 76 / 0 Solidworks 2012 SP5.0 Beiträge: 2620 / 3646 SolidWorks_2o18 SP4.o ------------------ Beiträge: 76 / 0 Solidworks 2012 SP5.0 das mit Main großschreiben war eine gute Idee, leider auch nicht von Erfolg gekrönt. Beiträge: 8756 / 682 SunZu sagt: wie GDawg schon geschrieben hat vermute ich auch eine falsche Einstellung in PAC4SWX für die Parameter. Nach deinem Screenshot des Makros muss bei Module als Wert dateiname eingetragen werden (so heißt dein Modul im Makro) und als Procedure (Startprozedur) die main. Ich hab dein Makro von oben einfach rauskopiert, in ein neues Makro bei mir geschmissen und in PAC4SWX eingebunden, klappt bei mir einwandfrei. Ich hab das Testmakro und den Screenshot meiner Einstellungen angehangen; vielleicht versuchst du es mit dem Makro mal, vielleicht ist noch irgendwas anderes in dem Makro selbst komisch. Ich hab allerdings von der lokalen Platte aus gearbeitet, nicht aus einem UNC-Pfad. Anmerkung: wenn das Makro mittels PAC4SWX ans laufen kommt bitte nicht wundern, wenn es so aussieht, als tut sich in den Dokumenten nichts Ciao, ------------------Philwag
PDM Enterprise 12.5
Windows 7Hallo liebes Board,
Wenn ich das Makro manuell in SWX 2012 starte, dann funktioniert das Ganze auch soweit. Danach habe ich nach einer Möglichkeit gesucht das makro über alle Zeichnungen in einem Ordner laufen zu lassen und bin dann auf PAC4SWX gekommen.
Leider wirft er mir dort immer eine Fehlermeldung aus, zu sehen in Anhang.
Ich habe auch mal einen Screenshot mit dem Macro und den Einstellungen im PAC4SWX angehängt.
Option Explicit
Const swDocPART = 1
Const swDocASSEMBLY = 2
Const swDocDRAWING = 3
swCustomInfoUnknown = 0
swCustomInfoText = 30 ' VT_LPSTR
swCustomInfoDate = 64 ' VT_FILETIME
swCustomInfoNumber = 3 ' VT_I4
swCustomInfoYesOrNo = 11 ' VT_BOOL
End Enum
Sub Main()
Dim ModelDoc As Object
Dim ConfigCount As Long
Dim ConfigNames As Variant
Dim PropConfigs As New Collection
Dim PropNames As New Collection
Dim Prop As Variant
Dim Config As Variant
Dim PropText As String
Dim dummy
Dim Teilenamen As String
Dim i As Long
Set ModelDoc = swApp.ActiveDoc
Teilenamen = swApp.ActiveDoc.GetTitle
'Teilenamen = swApp.GetFirstDocument.GetTitle
If ModelDoc Is Nothing Then
' Call MsgBox("Keine Datei geöffnet", vbOKOnly, "Information")
Exit Sub
End If
PropNames.Add "BauteilnummerNEU"
PropNames.Add "Beschreibung"
PropNames.Add "Projektnummer_dyn"
ConfigCount = ModelDoc.GetConfigurationCount
ConfigNames = ModelDoc.GetConfigurationNames
If AllConfigs = 0 Then
PropConfigs.Add ""
Else
For i = 0 To ConfigCount - 1
PropConfigs.Add ConfigNames(i)
Next i
End If
For Each Config In PropConfigs
For Each Prop In PropNames
dummy = ModelDoc.DeleteCustomInfo2("", PropNames.Item(1))
dummy = ModelDoc.DeleteCustomInfo2("", PropNames.Item(2))
dummy = ModelDoc.DeleteCustomInfo2("", PropNames.Item(3))
Debug.Print ModelDoc.AddCustomInfo3(Config, PropNames.Item(1), swCustomInfoText, Mid(Teilenamen, 1, 12))
Debug.Print ModelDoc.AddCustomInfo3(Config, PropNames.Item(2), swCustomInfoText, Mid(Teilenamen, 14, 60))
Debug.Print ModelDoc.AddCustomInfo3(Config, PropNames.Item(3), swCustomInfoText, Mid(Teilenamen, 1, 5))
Next
Next
End SubGDawg
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.Der Modulname in PAC4SWX stimmt nicht mit Deinem Modulname überein. Könnte das der Fehler sein?
Siehe http://forum.cad.de/foren/ubb/uploads/Philwag/MacroundPACEinstellungen.jpg, dateiname != dateiname1.Philwag
PDM Enterprise 12.5
Windows 7Hallo und danke für den Hinweis.
Das hatte ich aber auch schon versucht, dateiname1 hatte ich nur auch ausprobiert, da ich einen Hinweis auf der Homepage von PAC4SWX gefunden habe, der das ausgesagt hat. Hatte leider keinen Einfluss.GDawg
Win10_x64, Quadro_P2ooo.
VisualStudio_2o19_Pro.
FEM: Forge_NxT_HPC, ANSYS_WB.
3D-Printer: Ultimaker_2, Tinker_Gnome.Hmmmm .... vielleicht main != Main
Da ich PAC4SWX nicht habe, ist es schwierig zu sagen wo der Fehler liegen könnte. Da das Makro sonst läuft, kann es nur noch an PAC4SW liegen oder an den Einstellungen für Dein Makro.
Eigentlich sollte der Unterschied in der Benennung sehr wohl einen Einfluss haben. Sonst müsste man das gar nicht eingeben.Philwag
PDM Enterprise 12.5
Windows 7Hallo und Danke, StefanBerlitz
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.Hallo Philwag, PAC4SWX speichert nicht von sich aus, dass musst du in deinem Makro noch selbst übernehmen, sonst macht es die Dateieigenschaften dran und PAC4SWX schließt das wieder ohne zu speichern ...
Stefan
Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de