Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  makro für stücklistenformat

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  makro für stücklistenformat (4957 mal gelesen)
glat3
Mitglied
technischer zeichner

Sehen Sie sich das Profil von glat3 an!   Senden Sie eine Private Message an glat3  Schreiben Sie einen Gästebucheintrag für glat3

Beiträge: 5
Registriert: 18.06.2009

CATIA R18

erstellt am: 25. Jan. 2010 20:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi.
Hab mir ein Makro geschrieben, dass mir ein neues vordefiniertes stücklisten format einfügt.
Mein Problem ist das ich diese format überall hinspeichern kann wo ich möchte. Nur bei den Befehl für speichern unter kommt immer eine Fehlermeldung.
Hier ist das Makro:

Sub CATMain()
Dim productDocument1 As ProductDocument
Set productDocument1 = CATIA.ActiveDocument
Dim product1 As Product
Set product1 = productDocument1.Product
Dim assemblyConvertor1 As AssemblyConvertor
Set assemblyConvertor1 = product1.GetItem("BillOfMaterial")
Dim arrayOfVariantOfBSTR1(6)
arrayOfVariantOfBSTR1(0) = "Quantity"
arrayOfVariantOfBSTR1(1) = "Part Number"
arrayOfVariantOfBSTR1(2) = "Revision"
arrayOfVariantOfBSTR1(3) = "Definition"
arrayOfVariantOfBSTR1(4) = "CONSTRUCTION -THK"
arrayOfVariantOfBSTR1(5) = "CONSTRUCTION DENSITY"
arrayOfVariantOfBSTR1(6) = "PART-WEIGHT (KG)"
Set assemblyConvertor1Variant = assemblyConvertor1
assemblyConvertor1Variant.SetCurrentFormat arrayOfVariantOfBSTR1
Dim arrayOfVariantOfBSTR2(6)
arrayOfVariantOfBSTR2(0) = "Quantity"
arrayOfVariantOfBSTR2(1) = "Part Number"
arrayOfVariantOfBSTR2(2) = "Revision"
arrayOfVariantOfBSTR2(3) = "Definition"
arrayOfVariantOfBSTR2(4) = "CONSTRUCTION -THK"
arrayOfVariantOfBSTR2(5) = "CONSTRUCTION DENSITY"
arrayOfVariantOfBSTR2(6) = "PART-WEIGHT (KG)"
Set assemblyConvertor1Variant = assemblyConvertor1
assemblyConvertor1Variant.SetSecondaryFormat arrayOfVariantOfBSTR2
Dim assemblyConvertor2 As AssemblyConvertor
Set assemblyConvertor2 = product1.GetItem("BillOfMaterial")
Dim arrayOfVariantOfBSTR3(6)
arrayOfVariantOfBSTR3(0) = "Quantity"
arrayOfVariantOfBSTR3(1) = "Part Number"
arrayOfVariantOfBSTR3(2) = "Revision"
arrayOfVariantOfBSTR3(3) = "Definition"
arrayOfVariantOfBSTR3(4) = "CONSTRUCTION -THK"
arrayOfVariantOfBSTR3(5) = "CONSTRUCTION DENSITY"
arrayOfVariantOfBSTR3(6) = "PART-WEIGHT (KG)"
Set assemblyConvertor2Variant = assemblyConvertor2
assemblyConvertor2Variant.SetCurrentFormat arrayOfVariantOfBSTR3
Dim arrayOfVariantOfBSTR4(6)
arrayOfVariantOfBSTR4(0) = "Quantity"
arrayOfVariantOfBSTR4(1) = "Part Number"
arrayOfVariantOfBSTR4(2) = "Revision"
arrayOfVariantOfBSTR4(3) = "Definition"
arrayOfVariantOfBSTR4(4) = "CONSTRUCTION -THK"
arrayOfVariantOfBSTR4(5) = "CONSTRUCTION DENSITY"
arrayOfVariantOfBSTR4(6) = "PART-WEIGHT (KG)"
Set assemblyConvertor2Variant = assemblyConvertor2
assemblyConvertor2Variant.SetSecondaryFormat arrayOfVariantOfBSTR4
Dim assemblyConvertor3 As AssemblyConvertor
Set assemblyConvertor3 = product1.GetItem("BillOfMaterial")
Dim arrayOfVariantOfBSTR5(6)
arrayOfVariantOfBSTR5(0) = "Quantity"
arrayOfVariantOfBSTR5(1) = "Part Number"
arrayOfVariantOfBSTR5(2) = "Revision"
arrayOfVariantOfBSTR5(3) = "Definition"
arrayOfVariantOfBSTR5(4) = "CONSTRUCTION -THK"
arrayOfVariantOfBSTR5(5) = "CONSTRUCTION DENSITY"
arrayOfVariantOfBSTR5(6) = "PART-WEIGHT (KG)"
Set assemblyConvertor3Variant = assemblyConvertor3
assemblyConvertor3Variant.SetCurrentFormat arrayOfVariantOfBSTR5
Dim arrayOfVariantOfBSTR6(6)
arrayOfVariantOfBSTR6(0) = "Quantity"
arrayOfVariantOfBSTR6(1) = "Part Number"
arrayOfVariantOfBSTR6(2) = "Revision"
arrayOfVariantOfBSTR6(3) = "Definition"
arrayOfVariantOfBSTR6(4) = "CONSTRUCTION -THK"
arrayOfVariantOfBSTR6(5) = "CONSTRUCTION DENSITY"
arrayOfVariantOfBSTR6(6) = "PART-WEIGHT (KG)"
Set assemblyConvertor3Variant = assemblyConvertor3
assemblyConvertor3Variant.SetSecondaryFormat arrayOfVariantOfBSTR6
    Dim strVerzeichnis As String
    Dim strDateiname As String
    strVerzeichnis = "K:\CAD\0Projekt_Air\"
    strDateiname = Application.GetSaveAsFilename(InitialFileName:=strVerzeichnis, _
        FileFilter:="Microsoft Excel-Arbeitsmappe (*.xls), *.xls")
    Select Case strDateiname
        Case False
            Exit Sub
        Case Else
            assemblyConvertor2.[Print] "XLS", "W:01", product1
    End Select
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 25. Jan. 2010 20:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für glat3 10 Unities + Antwort hilfreich

Servus
Willkommen im Form. Bitte Systeminfo ausfüllen.
Welche Fehlermeldung kommt denn?
Wo wird bei dir Application gesetzt?
Woher hast du den Befehl GetSaveAsFilename? Gibt es den in CATIA?
Schon mal im Watch-Fenster im VBA-Editor den Code debugged?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 26. Jan. 2010 09:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für glat3 10 Unities + Antwort hilfreich

Hallo,

also der erste Teil deines Scripts stimmt ja noch aber unten das mit dem Speichern das kommt vorne und hinten nicht hin. Sieht mir aus als hättest du es aus einem Excel VBA Script rauskopiert. Eine Seelect Case Anweisung muss nicht immer true und false sein. Bei dir müsstest du abfragen ob der String leer ist (Case "" und Case <> "" oder Case else).

Hier mal ein funktionierendes CATScript. Kannst ja mal im VBA Editor (in CATIA) Debuggen und schauen was genau mit den Variablen passiert.

Code:

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")
   
   
    '***Einstallungen 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


------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cyzed
Mitglied
Ingenieur


Sehen Sie sich das Profil von cyzed an!   Senden Sie eine Private Message an cyzed  Schreiben Sie einen Gästebucheintrag für cyzed

Beiträge: 55
Registriert: 27.10.2009

erstellt am: 27. Jan. 2010 08:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für glat3 10 Unities + Antwort hilfreich

hmm, bei mir funktioniert irgendwie nicht...die Excel-Datei wird nach der Speicherabfrage nicht abgespeichert...kann das sein, dass die Funktion "GetTheSafePath" keinen Rückgabewert herausgibt?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 27. Jan. 2010 08:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für glat3 10 Unities + Antwort hilfreich

Servus
Also bei mir läuft das Makro durch.
Hast du Zugriff auf das Verzeichnis? Welche Excel-Version hast du (vielleicht gibt es mal wieder Probleme mit Excel 2007)

Gruß
Bernd

PS: Bitte Systeminfo ausfüllen.

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

cyzed
Mitglied
Ingenieur


Sehen Sie sich das Profil von cyzed an!   Senden Sie eine Private Message an cyzed  Schreiben Sie einen Gästebucheintrag für cyzed

Beiträge: 55
Registriert: 27.10.2009

erstellt am: 27. Jan. 2010 10:35    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für glat3 10 Unities + Antwort hilfreich

ja, ich habe die EXCEL 2007, wird wohl wahrscheinlich dadran liegen...schade...habe auch keine Möglichkeit mit einer älteren Version zu testen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 27. Jan. 2010 11:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für glat3 10 Unities + Antwort hilfreich

Hallo,

ist auch kein Problem. schreibe den Export auf *.txt um und importiere die Tabelle dann per Hand (geht auch per Script) in Excel 2007 

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

glat3
Mitglied
technischer zeichner

Sehen Sie sich das Profil von glat3 an!   Senden Sie eine Private Message an glat3  Schreiben Sie einen Gästebucheintrag für glat3

Beiträge: 5
Registriert: 18.06.2009

CATIA R18

erstellt am: 27. Jan. 2010 19:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke erst mal für die Antworten.
Nur leider funktioniert das Makro nicht ganz. Immer wenn ich speichern möchte kommt die Fehler Meldung mit haben sie die berächtigung dafür.
Was könnte der Grund dafür sein, wieso es nicht funkt. Das Makro, welches du hier reingestellt, ist das gesamt Makro oder muss ich noch was dazu fügen?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. an!   Senden Sie eine Private Message an DanielFr.  Schreiben Sie einen Gästebucheintrag für DanielFr.

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 28. Jan. 2010 08:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für glat3 10 Unities + Antwort hilfreich

Hallo,

mit welchen Release arbeitest du den? (BITTE SYSTEMINFORMATION IM PROFIL AUSFÜLLEN!)

------------------
MFG Daniel

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Ehrenmitglied V.I.P. h.c.
Arbeiter ツ



Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

NX 10
Win 7

erstellt am: 28. Jan. 2010 12:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für glat3 10 Unities + Antwort hilfreich


ermeintwohldies.png

 
helfen wir mal bildlich mit ,)
da er ja das mit der Fehlermeldung erwähnt 
Zitat:
die Fehler Meldung mit haben sie die berächtigung dafür

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz