Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Visual Basic Editor

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:  Visual Basic Editor (2516 mal gelesen)
catiawest
Mitglied
Konstrukteur


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

Beiträge: 59
Registriert: 03.05.2010

Catia R18 Sp2
Catia R19 Sp6
Cadenas

erstellt am: 04. Feb. 2011 12:16    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

Hallo,

Ich bin Anfänger im programmieren, und hoffe auf Hilfe im Forum, damit ich mich langsam in diese Thematik einarbeiten
kann.
Ich möchte gerne Rekursiv durch die Struktur gehen und die Teilenummer mit dem Dateinamen abgleichen.(CATPart+CATProdukt)
BSP.:
Start Situation:
Teilenummer              Dateinamen
Teil123                  Teil.CATPart

Nach dem ausführen des Script

End Situation:
Teilenummer              Dateinamen
Teil123                  Teil123.CATPart

Code:VB
'Teilenummer mit Filename abgleichen
Private Sub CommandButton1_Click()
Dim Datei As String
Dim timestamp

For i = 1 To Produktname.Products.Count

Dim Fehlermeldung
CATIA.DisplayFileAlerts = False
Datei = CATIA.FileSelectionBox("Speicherung", "*.CATPart", CatFileSelectionModeSave)
If Dir(Datei) = "" Then
    CATIA.ActiveDocument.SaveAs (Datei)
Else
    MsgBox "Die Datei wurde nicht gespeichert"
 
End If
End Sub


Hoffe auf eure Hilfe 


------------------
Mit freundlichen Grüßen
Catiawest

NIHIL IMPOSSIBILE =)

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: 04. Feb. 2011 12:24    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 catiawest 10 Unities + Antwort hilfreich

Servus
Also dazu solltest du genügend "Vorlagen" hier im Forum finden: zB hier (als Anregung), ....

Gruß
Bernd

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

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

catiawest
Mitglied
Konstrukteur


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

Beiträge: 59
Registriert: 03.05.2010

Catia R18 Sp2
Catia R19 Sp6
Cadenas

erstellt am: 07. Feb. 2011 15:55    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

Super Danke bgrittmann,

Der Link war sehr Hilfreich, habe am Wochenende am Code herumgebastelt
sieht glaub ich nicht mehr so schlecht aus.
Dennoch bekomme ich eine Fehlermeldung "Compile error: Variable not defined".
Weiters hab ich unter Tools-> References
Alle Files ausgewählt die mit CATIA anfangen.
fkt leider doch nicht, er bleibt immer bei "pro" stehen.

Code:
'Teilenummer mit Filename abgleichen
Private Sub CommandButton1_Click()
Dim Eingabe As String
Eingabe = InputBox("Bitte geben Sie den Speicher Ort  ein.", "Alle Parts/Products Speichern", Eingabe)

Dim oFileSystem As INFITF.FileSystem
Set oFileSystem = CATIA.FileSystem

Dim oFolder As INFITF.Folder
Set oFolder = oFileSystem.GetFolder(Eingabe)

Dim FileSep As String

    FileSep = oFileSystem.FileSeparator
    Dim i As Long
    Dim j As Variant
    Dim oFile As INFITF.File
    Dim oActiveDoc As DrawingDocument
   
   
    For i = 1 To oFolder.Files.Count
        Set oFile = oFolder.Files.Item(i)
        If Right(oFile.Name, 7) = "CATPart" Then
            Set oActiveDoc = CATIA.Documents.Open(oFolder.Path + FileSep + oFile.Name)
       
        Dim document As document
        Dim splitname As String
       
        Set document = CATIA.ActiveDocument
        splitname = Split(document.Name, ".")
       
    Set pro = document.Product
        pro.PartNumber = splitname(0)

        oActiveDoc.Save
        oActiveDoc.Close
           
     
    End If

    'For i = 1 To oFolder.Files.Count
            Set oFile = oFolder.Files.Item(i)
            If Right(oFile.Name, 10) = "CATProduct" Then
            Set oActiveDoc = CATIA.Documents.Open(oFolder.Path + FileSep + oFile.Name)
       
        'Dim document As document
        'Dim splitname As string
        Set document = CATIA.ActiveDocument
        splitname = Split(document.Name, ".")
        Set pro = document.Product
        pro.PartNumber = splitname(0)

            oActiveDoc.Save
            oActiveDoc.Close
      End If

End Sub

------------------
Mit freundlichen Grüßen
Catiawest

NIHIL IMPOSSIBILE =)

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: 07. Feb. 2011 16:04    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 catiawest 10 Unities + Antwort hilfreich

Servus
Da fehlt wo ein "Dim". zB Dim pro as Prodct
Des weiteren:
- warum deklarierst du ActveDoc als Drawing? (Dim oActiveDoc As DrawingDocument) was passiert wenn dies ein Part/Product ist?

Gruß
Bernd

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

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

catiawest
Mitglied
Konstrukteur


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

Beiträge: 59
Registriert: 03.05.2010

Catia R18 Sp2
Catia R19 Sp6
Cadenas

erstellt am: 08. Feb. 2011 15:17    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

Hallo Bernd,
Wie kann ich Produkt+Part deklarieren?

------------------
Mit freundlichen Grüßen
Catiawest

NIHIL IMPOSSIBILE =)

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

WIN 7 64bit
V5R21SP3HF49
3DX/V6 R2016x

erstellt am: 08. Feb. 2011 17:28    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 catiawest 10 Unities + Antwort hilfreich

Da Bernd anscheinend im Feierabend ist  :

Dim Part1 As Part  'deklariert Part1 als Part
Dim Product1 As Product  'deklariert Product1 als Product

Hier noch ein kleines Codebeispiel, wie du die verschiedenen Dokumenttypen erkennen/abfangen kannst:

_______________________________

Sub CATMain()

On Error Resume Next

Dim oActiveDocument As document
Set oActiveDocument = CATIA.ActiveDocument

If oActiveDocument Is Nothing Then
    Err.Clear
    MsgBox "Leere Dokumente können nicht bearbeitet werden. Das Makro wird beendet"
    On Error GoTo 0
    Exit Sub
End If

If TypeName(oActiveDocument) = "ProductDocument" Then
    MsgBox "Ich bin ein Product."
    'Exit Sub  'hier den ersten ' entfernen wenn das Makro abbrechen soll
    Else
    If TypeName(oActiveDocument) = "PartDocument" Then
        MsgBox "Ich bin ein Part."
        'Exit Sub  'hier den ersten ' entfernen wenn das Makro abbrechen soll
        Else
        If TypeName(oActiveDocument) = "DrawingDocument" Then
            MsgBox "Ich bin eine Zeichnung."
            'Exit Sub  'hier den ersten ' entfernen wenn das Makro abbrechen soll
            Else
            MsgBox "Ich bin ein unzulässiges Dokument. Das Makro wird beendet"
            On Error GoTo 0
            Exit Sub  'hier ist der ' entfernt um das Makro abzubrechen
        End If
    End If
End If

MsgBox "Das Makro läuft nun weiter ..."

'Hier soll dann weiter programmiert werden

On Error GoTo 0

End Sub


_______________________________

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

[Diese Nachricht wurde von tberger am 08. Feb. 2011 editiert.]

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