Tech-Ecke / CATScript/VBS Inhalt / Datei/Dokument- und Verzeichnisverwaltung

 

Datei/Dokument- und Verzeichnisverwaltung

Seiteninhalt:  
  Prüfen ob Datei vorhanden ist
  Löschen einer Datei
  Laden eines Dokuments (Open und Read)
  Insert Component
  Speichern und "Speichern unter" eines Dokuments
  Kopieren einer Datei
  Speicherstatus eines Dokuments
   
  Prüfen ob ein Verzeichnis vorhanden ist
  Erstellen eines Verzeichnisses
  Löschen eines Verzeichnisses (auch inkl. Inhalt)
  Kopieren eines Ordners mit Inhalt
  Anzahl der Dateien eines Ordners
   
  Datei Öffnen Dialog
  Datei Speichern Dialog
  Ordner Auswahl

 

   Dateien / Dokumente


Prüfen ob eine Datei vorhanden ist:

  Sub CATMain()

if CATIA.FileSystem.FileExists("C:\Test.CATPart") then
MsgBox("Datei vorhanden")
end if

End Sub
 

Löschen einer Datei:

  Sub CATMain()

CATIA.FileSystem.DeleteFile("C:\Part1.CATPart")

End Sub
 

Laden eines Dokuments:

siehe auch: Load Dialog

  Sub CATMain()

set GeladenesPart = CATIA.Documents.Open ("C:\Part1.CATPart") ' regulär laden
set GeladenesPart = CATIA.Documents.Read ("C:\Part2.CATPart") ' laden ohne anzuzeigen (nur in den Speicher)

End Sub
 

Insert Component:

Hier im Beispiel ein CATPart welches den Namen Part1 hat und direkt in der Root von Laufwerk C: liegt.

  Sub CATMain()

dim Bauteil(0)

Bauteil(0) = "C:\Part1.CATPart"
CATIA.ActiveDocument.Product.Products.AddComponentsFromFiles Bauteil, "All"

End Sub
 

Speichern eines Dokuments:

siehe auch: Save Dialog

  Sub CATMain()

CATIA.ActiveDocument.Save    ' speichern
CATIA.ActiveDocument.SaveAs ("C:\Part1.CATPart")     ' speichern unter

End Sub
 

Kopieren einer Datei:

  Sub CATMain()

CATIA.FileSystem.CopyFile "C:\Qelle.txt", "C:\Ziel.txt", False

End Sub
 

Speicherstatus eines Dokuments abfragen

  Sub CATMain()

if CATIA.ActiveDocument.Saved then
     MsgBox "Alle Änderung wurden gespeichert"
else
     MsgBox "Aktuelle Änderungen wurden noch nicht gespeichert"
end if

End Sub
 

 

   Verzeichnisse (Ordner)


Prüfen ob ein Verzeichnis (Ordner) vorhanden ist:

  Sub CATMain()

if CATIA.FileSystem.FolderExists("C:\Test") then
MsgBox("Datei vorhanden")
end if

End Sub
 

Erstellen eines Verzeichnisses (Ordner)

  Sub CATMain()

CATIA.FileSystem.CreateFolder("C:\Test")

End Sub
 

Löschen eines Verzeichnisses

  Sub CATMain()

CATIA.FileSystem.DeleteFolder("C:\Ordner_a")

' Löschen inklusive Inhalt
set oFS = CreateObject("Scripting.FileSystemObject")
oFS.DeleteFolder("C:\Ordner_b")

End Sub
 

Kopieren eines Ordners mit Inhalt:

  Sub CATMain()

CATIA.FileSystem.CopyFolder "C:\Test", "C:\TestNeu"

End Sub
 

Anzahl der Dateien eines Ordners ermitteln

  Sub CATMain()

set Ordner = CATIA.FileSystem.GetFolder("C:\Test"' gibt den Ordner an
set Datei = Ordner.Files
MsgBox Datei.Count   ' Anzahl der gefundenen Dateien

MsgBox "Die erste Datei heisst: " &Datei.Item(1).Name

End Sub
 

 

Dateidialoge
 

Datei Öffnen Dialog

  Sub CATMain()

Datei = CATIA.FileSelectionBox ("Wähle Datei...", "*.CATPart", CATFileSelectionModeLoad)
' Datei = CATIA.FileSelectionBox ("Wähle Datei...", "*.CATPart", CATFileSelectionModeOpen)
if Datei = "" then Exit Sub

MsgBox "Datei " &Datei &" wurde gewählt."

End Sub
 

Datei Speichern Dialog

  Sub CATMain()

Datei = CATIA.FileSelectionBox ("Wähle Datei...", "*.CATPart", CATFileSelectionModeSave)
if Datei = "" then Exit Sub

MsgBox "Datei " &Datei &" wurde gewählt."

End Sub
 

Ordner Auswahl Dialog

CATScript selbst bietet keine Möglichkeit einen Ordner auszuwählen, folgende kleine Funktion geht den Umweg über VBS:

  Function SelectDirectory()

set Anwendung = CreateObject("Shell.Application")
Ordner = Anwendung.BrowseForFolder(0, strTitle, 0).Self.path
if Len(Ordner) <> 3 then Ordner = Ordner +"\"
SelectDirectory = Ordner

MsgBox "Ordner " &Ordner &" wurde gewählt."

End Function
 

Aufruf der Funktion:

  MsgBox SelectDirectory
 

"Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !"

[letzte Aktualisierung 23.09.2009]