Code:
Option Explicit
Dim strDateipfad As String
Dim i As Integer
Dim Name As String
Dim vDummy As Variant
Dim typ As Integer
Dim Pos As Integer
Public Sub Dateieigenschaften_auslesen()
'Auf SW zugreifen
Set swApp = Application.SldWorks
'An aktives Dokument anklinken
Set Zeichnung = swApp.ActiveDoc
If Zeichnung Is Nothing Then
'MsgBox "Kein Dokument geöffnet!"
End
End If
'Prüfen, ob Zeichnung geöffnet ist
typ = Zeichnung.GetType()
If typ <> swDocDRAWING Then
'MsgBox "Aktives Dokument ist keine Zeichnung!"
End
End If
'bereits vorhandene Werte aus Zeichnung auslesen und in Formular einsetzen
'Daten von Feintool Schriftfeld
'Materialdaten
strDateipfad = Zeichnung.GetPathName()
If strDateipfad = "" Then
MsgBox "Sie müssen die Datei zuerst speichern!"
End 'Exit Sub
End If
Do
vDummy = InStr(strDateipfad, "\")
strDateipfad = Right(strDateipfad, Len(strDateipfad) - vDummy)
Loop While vDummy <> 0
If UCase(Right(strDateipfad, 7)) = ".SLDPRT" Or UCase(Right(strDateipfad, 7)) = ".SLDASM" Or UCase(Right(strDateipfad, 7)) = ".SLDDRW" Then
Name = Left(strDateipfad, Len(strDateipfad) - 7)
Else
Name = strDateipfad
End If
Do
vDummy = InStr(Name, "-")
Name = Right(Name, Len(Name) - vDummy)
Loop While vDummy <> 0
Formular.Materialnummer.Caption = Name
If Zeichnung.CustomInfo("MARA_TEXT_DE") <> " " Then
Formular.Bezeichnung.Value = Zeichnung.CustomInfo("MARA_TEXT_DE")
End If
Formular.Bemerkung.Value = Zeichnung.CustomInfo("Z_BEMERK")
'Erstellung
If Zeichnung.CustomInfo("Z_KONSTR") <> "" Then
Formular.Konstruiert_Name.Value = Zeichnung.CustomInfo("Z_KONSTR")
Else
Call Benutzernamen.Benutzer
Formular.Konstruiert_Name.Value = User
End If
If Zeichnung.CustomInfo("Z_KONSTR_DATUM") <> "" Then
Formular.Konstruiert_Datum.Value = Zeichnung.CustomInfo("Z_KONSTR_DATUM")
Else
Formular.Konstruiert_Datum.Value = Date
End If
If Zeichnung.CustomInfo("GEZNAM") <> "" Then
Formular.Gezeichnet_Name.Value = Zeichnung.CustomInfo("GEZNAM")
End If
If Zeichnung.CustomInfo("GEZDAT") <> " " Then
Formular.Gezeichnet_Datum.Value = Zeichnung.CustomInfo("GEZDAT")
End If
If Zeichnung.CustomInfo("PRUNAM") <> " " Then
Formular.Geprüft_Name.Value = Zeichnung.CustomInfo("PRUNAM")
End If
If Zeichnung.CustomInfo("PRUDAT") <> " " Then
Formular.Geprüft_Datum.Value = Zeichnung.CustomInfo("PRUDAT")
End If
'Werkstoffdaten
If Zeichnung.CustomInfo("MAT_NR_ROH") <> " " Then
Formular.Rohmaterial.Value = Zeichnung.CustomInfo("MAT_NR_ROH")
End If
If Zeichnung.CustomInfo("MARA_GEWICHT") <> " " Then
Formular.Masse.Value = Zeichnung.CustomInfo("MARA_GEWICHT")
End If
'Blattanzahl
If Zeichnung.CustomInfo("Bezeichnung") <> " " Then
Formular.Blatt_Einzel.Value = Zeichnung.CustomInfo("Bezeichnung")
End If
If Zeichnung.CustomInfo("Bezeichnung2") <> " " Then
Formular.Blatt_Gesamt.Value = Zeichnung.CustomInfo("Bezeichnung2")
End If
'Sonstiges
If Zeichnung.CustomInfo("MARA_ALTE_NR") <> " " Then
Formular.Alte_Nummer.Value = Zeichnung.CustomInfo("MARA_ALTE_NR")
End If
If Zeichnung.CustomInfo("DRAW_VERSION") <> " " Then
Formular.Version.Value = Zeichnung.CustomInfo("DRAW_VERSION")
End If
If Zeichnung.CustomInfo("DRAW_NR") <> " " Then
Formular.Dokumentnummer.Value = Zeichnung.CustomInfo("DRAW_NR")
End If
'Änderungshistorie
For i = 0 To 3
If Zeichnung.CustomInfo("ECM_N" & i + 1) <> " " Then Formular.Historie.AddItem Zeichnung.CustomInfo("ECM_N" & i + 1) 'Index
If Zeichnung.CustomInfo("ECM_A" & i + 1) <> " " Then Formular.Historie.List(i, 1) = Zeichnung.CustomInfo("ECM_A" & i + 1) 'Änderung
If Zeichnung.CustomInfo("ECM_D" & i + 1) <> " " Then Formular.Historie.List(i, 2) = Zeichnung.CustomInfo("ECM_D" & i + 1) 'Datum
If Zeichnung.CustomInfo("ECM_U" & i + 1) <> " " Then Formular.Historie.List(i, 3) = Zeichnung.CustomInfo("ECM_U" & i + 1) 'Name
Next i
End Sub