Autor
|
Thema: Stücklisten (1840 mal gelesen)
|
ManniBo Mitglied Konstrukteur
Beiträge: 15 Registriert: 10.03.2010 Windows XP, x64, Version 2003, SP2 CATIA V5 R16
|
erstellt am: 07. Jun. 2010 13:14 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, habe dieses Makro von Daniel aus dem Forum, es lässt jedoch die Exceltabelle leer und bringt die Fehlermeldung "Es ist ein Fehler beim speichern der Stüli aufgetreten. Bitte stellen Sie sicher daß Sie ausreichend Rechte auf dem gewählten Speicherpfad haben" Da habe ich zu 100% Schreib- und Seserechte drauf. Sub CATMain()
'***Deklarationen Dim intDoc As ProductDocument Dim intProd As Product Dim intAssConvertor Dim intSettingArrayStr(6) Dim intSafePathStr As String Dim MsgFileNameStr As String Dim MsgFilePathStr As String '***BillOfMaterial Object holen Set intDoc = CATIA.ActiveDocument Set intProd = intDoc.Product Set intAssConvertor = intProd.GetItem("BillOfMaterial") '***Einstellungen der Stückliste definieren intSettingArrayStr(0) = "Quantity" intSettingArrayStr(1) = "Part Number" intSettingArrayStr(2) = "Revision" intSettingArrayStr(3) = "Definition" intSettingArrayStr(4) = "CONSTRUCTION -THK" intSettingArrayStr(5) = "CONSTRUCTION DENSITY" intSettingArrayStr(6) = "PART-WEIGHT (KG)" '***Einstellungen an Object weitergeben intAssConvertor.SetSecondaryFormat intSettingArrayStr '***Speichern Dialog öffnen intSafePathStr = GetTheSafePath If intSafePathStr = "" Then MsgBox "Sie haben das Speichern der Stückliste abgebrochen!" + Chr(10) + "Das Makro wird beendet", vbExclamation, "Abbruch durch Anwender" Exit Sub End If '***Speicherabfrage On Error Resume Next intAssConvertor.[Print] "xls", intSafePathStr, intProd If Err.Number <> 0 Then MsgBox "Es ist ein Fehler beim speichern der Strückliste aufgetretten!" + Chr(10) + "Bitte stellen Sie sicher das sie ausreichend Rechte auf den gewählten Speicherpfad besitzen", vbCritical, _ "Fehler beim speichern" Exit Sub Else MsgBox "Das Makro wurde erfolgreich beendet" + Chr(10) + "Die Stückliste würde mit folgenden Einstellungen gespeichert" + Chr(10) + Chr(10) + _ "Dateipfad: " & intSafePathStr, vbInformation, "Makro erfolgreich beendet" End If End Sub Private Function GetTheSafePath() As String '***Deklarationen Dim intFilterStr As String Dim intFileNameStr As String intFilterStr = "*.xls" '***Dialog anzeigen intFileNameStr = CATIA.FileSelectionBox("Bitte Speicherort und Speichername der Stückliste angeben", intFilterStr, CatFileSelectionModeSave) If intFileNameStr <> "" Then GetTheSafePath = intFileNameStr & Right(intFilterStr, 4) Else GetTheSafePath = "" End If End Function Kann mir jemand weiterhelfen ?
Muss ich Excel speziell einrichten, so mit Spalten ? Mit freundlichen Grüßen Manfred ------------------ MS Windows XP, Professional X64 Version 2003 SP2 CATIA X64 V5R16 SP7 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HoBLila Mitglied Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx
Beiträge: 1118 Registriert: 29.05.2008 DELL PRECISION T3500 Intel(R) Xeon(R) CPU W3540 @ 2.93GHz 12285 MB RAM NVIDIA Quadro FX 1800 Microsoft Windows 7 Enterprise Service Pack 1 CATIA V5 R19 SP09 HF69 VB6.5 CAA RADE CDC
|
erstellt am: 07. Jun. 2010 13:31 <-- editieren / zitieren --> Unities abgeben: Nur für ManniBo
Hallo ManniBo, der Fehler ist auch etwas allgemeiner. Die Meldung kommt, wenn irgend ein Fehler beim Speichern aufgetreten ist und es ist nur eine mögliche Ursache. Daher sollten auch andere Sachen untersucht werden. Ich kann z.B. (aus unerfindlichen Gründen) auf meinem Laptop keine Excel-Stücklisten speichern, auch dies ist eine mögliche Ursache. kommentier bitte mal testweise die Zeile On Error Resume Next aus und probier mal, ob dann eine mehr sagendere Fehlermeldung kommt. Oder packt es in ein CATVBA und setz zwei Zeilen drunter einen Haltepunkt und poste was im Err-Objekt drin steht. ------------------ Mit freundlichen Grüßen, Henry Schneider alias Lila Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren: Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen, die Natur versucht, immer bessere Idioten zu bauen Xing Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ManniBo Mitglied Konstrukteur
Beiträge: 15 Registriert: 10.03.2010 Windows XP, x64, Version 2003, SP2 CATIA V5 R16
|
erstellt am: 07. Jun. 2010 13:49 <-- editieren / zitieren --> Unities abgeben:
Hallo Henry, habe den Befehl auskommentiert. Fehlermeldung "Das Verfahren PRINT ist fehlgeschlagen" Kommentiere ich die kompl. Befehlsreihe aus läuft das Makto durch jedoch ohne ins Excel zu schreiben. Ist der Befehl PRINT überhaupt der richtige ? In Excel heißt der auch SAVE. Mit freundlichen Grüßen Manfred ------------------ MS Windows XP, Professional X64 Version 2003 SP2 CATIA X64 V5R16 SP7 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 07. Jun. 2010 15:16 <-- editieren / zitieren --> Unities abgeben: Nur für ManniBo
Hallo Manfred, ja prinzipiell ist der print-Befehl im CATIA-VBA der richtige. Diese Befehle sind VBA-spezifisch und können daher in den unterschiedlichen Programmen stark variieren. Das hat ja so erstmal nicht mit Excel zu tun. Der Code scheint auf den ersten Blick richtig. Allerdings kommt immer der gleiche Fehler, egal welcher tatsächlich auftritt. Ich würde als erstes mal den Ordnernamen und Dateinamen manuell eingeben, um Probleme mit der Übergebabe oder Auswahl ausschließen zu können. Danach würde ich mit F8 die Funktion schritt für schritt durchgehen und die Variablen bzw. zumindestens Strings auf Richtigkeit prüfen. ------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 08. Jun. 2010 06:54 <-- editieren / zitieren --> Unities abgeben: Nur für ManniBo
Servus Ändere die Zeile mit dem Print mal in: intAssConvertor.[Print] "XLS", intSafePathStr, intProdScheinbar muss "XLS" groß geschrieben werden. Obwohl die Stückliste stimmt dann immernoch nicht (Fehler bei den Einstellungen der Stückliste (Array)?). Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ManniBo Mitglied Konstrukteur
Beiträge: 15 Registriert: 10.03.2010 Windows XP, x64, Version 2003, SP2 CATIA V5 R16
|
erstellt am: 08. Jun. 2010 12:37 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, sorry, hatte keine Zeit zum Antworten, ich muss noch arbeiten. XLS habe ich groß geschrieben, es bleibt beim alten Fehler. Was meinst Du mit "(Fehler bei den Einstellungen der Stückliste (Array)?)" Ich komme da im Moment nicht weiter. Mit freundlichen Grüßen Manfred
------------------ MS Windows XP, Professional X64 Version 2003 SP2 CATIA X64 V5R16 SP7 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ManniBo Mitglied Konstrukteur
Beiträge: 15 Registriert: 10.03.2010 Windows XP, x64, Version 2003, SP2 CATIA V5 R16
|
erstellt am: 08. Jun. 2010 12:52 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich bins noch mal. Ich habe genau diese Zeile -wie die von Bernd- intAssConvertor.[Print] "XLS", intSafePathStr, intProd auskommentiert, das Makro läuft jetzt durch jedoch ohne ins Excel zu schreiben. Ich denke hier liegt der Fehler. Kommt da jemand weiter ? Mit freundlichen Grüßen Manfred ------------------ MS Windows XP, Professional X64 Version 2003 SP2 CATIA X64 V5R16 SP7 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 08. Jun. 2010 12:54 <-- editieren / zitieren --> Unities abgeben: Nur für ManniBo
|
ManniBo Mitglied Konstrukteur
Beiträge: 15 Registriert: 10.03.2010 Windows XP, x64, Version 2003, SP2 CATIA V5 R16
|
erstellt am: 08. Jun. 2010 13:10 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, ja das funzt. Die Fehlermeldung "Es ist ein Fehler beim speichern der Stüli aufgetreten. Bitte stellen Sie sicher daß Sie ausreichend Rechte auf dem gewählten Speicherpfad haben" kommt trotzdem. Mit freundlichen Grüßen Manfred
------------------ MS Windows XP, Professional X64 Version 2003 SP2 CATIA X64 V5R16 SP7 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |