Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Datei Kopieren und Öffnen

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:  Datei Kopieren und Öffnen (3405 mal gelesen)
thorstenS
Mitglied



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

Beiträge: 29
Registriert: 08.03.2006

erstellt am: 17. Sep. 2010 07:49    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 Zusammen,

ich habe da mal eine Frage:

Ich habe ein Macro mit dem ich den Inhalt eines Verzeichnis in ein anderes kopiere.
Wenn dies geschehen ist möchte ich eine Datei aus dem "neuen" Verzeichnis öffnen.
Leider weiß ich nicht wie ich die Datei aus den neuen Verzeichnis ansprechen soll, da dieses über eine Selektion ausgewählt wird.

Hier der bisherige Code:

Sub CATMain()

Dim Shell
Set Shell = CreateObject("Shell.Application")
Ordner = Shell.BrowseForFolder(0, "Wählen Sie bitte den Speicherort aus", 0).Self.Path

        Dim fso
        Dim sfol As String
        sfol = "D:\TestVerschieben"
        Set fso = CreateObject("Scripting.FileSystemObject")
        If Not fso.FolderExists(dfol) Then
        fso.CopyFolder sfol, Ordner
        Else:
        MsgBox dfol & "Dieser Ordner existiert bereits !!!!!", vbExclamation, "Folder Exists"
        End If
 
        Dim documents1 As Documents
        Set documents1 = CATIA.Documents   
        Dim productDocument1 As ProductDocument
        Set productDocument1 = documents1.Open("????????")
End Sub

Geöffnet werden soll eine Datei aus dem Verzeichnis "Ordner" zum Beispiel ein .CatProduct


Hat jemand eine Lösung ?

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: 17. Sep. 2010 08:14    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 thorstenS 10 Unities + Antwort hilfreich

Hallo,

1. Dateien im Windows Explorer zu verschieben ist ein absolutes NoGo beim arbeiten mit einem CAD Programm. Die Produkte und Part enthalten im Dateiquelltext die Links ihrer Kinder. Werden Dateien auf Windows-Ebene verschoben so kann die Änderung des Pfades nicht in den Quelltext aufgenommen werden! Versuche das Ganze mal mit einem internen SendTo Befehl zu implementieren.

2. Wie willst du mit einem Script eine Datei öffnen von der du keine Randbedingungn kennst. Du kannst ja auch nicht per Hand eine Datei öffnen die du nicht kennst. Ich verstehe das mit der Selektion nicht. Wo wird die Datei vorher selektiert? In CATIA (dann kannst du den Ursprünglichen Dateinamen auslesen, oder im Explorer dann kannst du doch auch den ursprünglichen Dateinamen auslesen).

------------------
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

thorstenS
Mitglied



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

Beiträge: 29
Registriert: 08.03.2006

erstellt am: 17. Sep. 2010 08:57    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 Daniel,


Ein absolutes NoGo halte ich für übertrieben, man muss nur Wissen was man will und was man bewirkt.

Zu meinem Problem,

es wird ein Verzeichnis Selektiert und keine Datei.

Das Makro soll folgende Aufgabe erfüllen:

1. Es wird ein Verzeichnis über eine Abfrage ausgewählt
2. In das ausgewählte Verzeichnis werden die Daten aus "D:\TestVerschieben" verschoben
3. In CATIA möchte ich aus dem neuen Verzeichnis eine bestimmte Datei offnen

ich frage mich wie ich dies hinbekomme ?


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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 17. Sep. 2010 20:40    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 thorstenS 10 Unities + Antwort hilfreich

Hallo thorstenS,

ich möchte hier den Zusammenhang (  ) zwischen dargestellten Code und der gestellten Frage nicht bewerten...

Aber so wie Du Deine Angaben machst, geht es doch ganz einfach:

Code:
Set productDocument1 = documents1.Open(ConcatenatePaths(Ordner, "Bestimmte_Datei.CATProduct"))


mfg,
Lusilnie

------------------
Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

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

thorstenS
Mitglied



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

Beiträge: 29
Registriert: 08.03.2006

erstellt am: 20. Sep. 2010 07: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


Fehler_Compile_Error.jpg

 
Hallo Lusilnie,

danke für die Antwort, aber beim Testen erhalte ich einen Fehler:
Der Befehl : "ConcatenatePaths" wird so glaube ich nicht verarbeitet.
gibt es dafür eine Lösung ?


Gruß Thorsten

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 20. Sep. 2010 18:30    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 thorstenS 10 Unities + Antwort hilfreich

Hallo Thorsten,

ich springe ein mit einem Antwort für Windows:

Code:
Set productDocument1 = documents1.Open( Ordner & "\" & "Bestimmte_Datei.CATProduct")
also die Strings einfach verknüpfen.

Gruß,
Zoltan

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 20. Sep. 2010 21:40    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 thorstenS 10 Unities + Antwort hilfreich

Hallo thorstenS,

sorry, da hatte ich doch noch was vergessen...

Code:
Set productDocument1 = documents1.Open(CATIA.FileSystem.ConcatenatePaths(Ordner, "Bestimmte_Datei.CATProduct"))


mfg,
Lusilnie

------------------
Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

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

thorstenS
Mitglied



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

Beiträge: 29
Registriert: 08.03.2006

erstellt am: 21. Sep. 2010 07: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


Fehler_Compile_Error.jpg

 
Hallo Zusammen,

Ich danke euch für die Beiträge, aber irgent wie klappts immer noch nicht.

Als Fehler meldung erhalte ich die beigefügte Fehler meldung.

Leider fehlt mir an dieser Stelle das entsprechende Hintergrundwissen...., aber kann es sein das die Variable "Ordner" an dieser stelle nicht vom richtigen Typ ist?

Gibt's dafür eine Lösung ?

Mit freundlichen Grüßen

Thorsten

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 21. Sep. 2010 18:52    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 thorstenS 10 Unities + Antwort hilfreich

Hallo,

die Variable "Ordner" musst du dir selbst deklarieren (als String) und den richtigen Wert zuweisen. Ansonsten wird es nicht funktionieren...
Oder du kannst da einfach eine konstanter String angeben.

Zoltan

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 21. Sep. 2010 23:05    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 thorstenS 10 Unities + Antwort hilfreich

Hallo thorstenS,

wie schon "zoltan.bekesi" angedeutet hat, musst Du Deine Variablen sauber definieren. Hier mal Dein Code in gesäuberter Form, so dass er auch "durchläuft":

Code:
Option Explicit

Sub CATMain()
   
    Dim Shell As Object
    Dim Ordner As String
    Dim fso As Object
    Dim sfol As String
    Dim dfol As String
    Dim documents1 As Documents
    Dim productDocument1 As ProductDocument
   
    Set Shell = CreateObject("Shell.Application")
    Ordner = Shell.BrowseForFolder(0, "Wählen Sie bitte den Speicherort aus", 0).Self.Path
   
    sfol = "D:\TestVerschieben"
    Set fso = CreateObject("Scripting.FileSystemObject")
    If Not fso.FolderExists(dfol) Then
        fso.CopyFolder sfol, Ordner
    Else
        MsgBox dfol & "Dieser Ordner existiert bereits !!!!!", vbExclamation, "Folder Exists"
    End If
   
    Set documents1 = CATIA.Documents
    Set productDocument1 = documents1.Open(CATIA.FileSystem.ConcatenatePaths(Ordner, "Bestimmte_Datei.CATProduct"))
   
End Sub


Allerdings ist für mich hier nicht ersichtlich, was "dfol" ist und was Du damit machen bzw. prüfen willst. Doch Du wirst es sicher wissen...

Derzeit wird halt bei "Nichtvorhandensein" eines Ordners ohne Namen der Inhalt von Ordner "D:\TestVerschieben" in das gewählte Verzeichnis kopiert. Bei Vorhandensein eines Ordners ohne Namen wird eine Message angezeigt, das der Ordner ohne Namen schon existiert und es wird trotzdem versucht, die "Bestimmte_Datei.CATProduct" aus dem gewählten Verzeichnis zu öffnen...  


mfg,
Lusilnie

------------------
Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

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

thorstenS
Mitglied



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

Beiträge: 29
Registriert: 08.03.2006

erstellt am: 22. Sep. 2010 07: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

Hallo Zusammen,

Besten dank für die Hilfe, klappt super........

Gruß

Thorsten

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