Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Pfadproblem

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:  Pfadproblem (1140 mal gelesen)
MichaelTreiber
Mitglied
Technischer Produktdesigner


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

Beiträge: 63
Registriert: 26.01.2011

Win XP/7 (64 Bit)
Catia V5R18

erstellt am: 23. Mrz. 2011 14:23    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 folgendes Problem:
Ich habe einen Pfad (Q:\cad\3D\Catia_V5_config\flexplus\catv5\caa\agile\ecc\6.4\Frames)
Ein Teil dieses Pfades (Q:\cad\3D\Catia_V5_config\flexplus\catv5) wird durch folgendes Kürzel verkürzt (%FLEXPLUS_ROOT_WIN%)
Wenn ich %FLEXPLUS_ROOT_WIN% im Arbeitsplatz oben eingebe springt er direkt in den Ordner "catv5".
Soweit ist alles richtig. Wenn ich nun aber das Kürzel im Pfad meines "NewFrom" Befehls eingebe erhalte ich eine Errormeldung (Method "NewFrom" of object "Documents" failed). Mit dem normalen Pfad jedoch funktioniert das Ganze. Ich verstehe nur nicht wieso das nicht mit dem Kürzel funktioniert, wo es doch direkt zu diesem Ordner springt. Von da aus gehe ich ja ganz normal den Pfad weiter.

Zur Info:
Es ist in sofern wichtig, dass dieses Kürzel funktioniert, da unsere Rechner lokal zwar die gleichen Laufwerke haben, global jedoch nicht, das heisst wenn man ein Programm global machen möchte, muss man dieses Kürzel einbinden, da auf allen Rechnern nach diesem Kürzel die gleiche Ordner- und Dateistruktur vorhanden ist.

Hier noch ein Auszug aus meinem Code:

Code:
Private Sub IMGa1_Click()
Dim DrawingDocumentb As DrawingDocument
Dim documentsa As documents

Set documentsa = CATIA.documents

On Error Resume Next
Set DrawingDocumentb = documentsa.Item("LANDSEUP_A1.CATDrawing")
On Error GoTo 0

If DrawingDocumentb Is Nothing Then
    Set DrawingDocumentb = documentsa.NewFrom("%FLEXPLUS_ROOT_WIN%\caa\agile\ecc\6.4\Frames\LANDSEUP_A1.CATDrawing")
End If

Unload Me

End Sub


Wenn jemand eine Idee hat, würde ich mich sehr freuen

------------------
Grüße aus dem schönen Düsseldorf
Michael

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 23. Mrz. 2011 14: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 MichaelTreiber 10 Unities + Antwort hilfreich

Hallo Michael,
du machst einen Fehler, den viele begehen. Du gehst davon aus, dass das funktionieren muss, weil es woanders ja auch funktioniert. Wenn du die Systemvariable mit der Syntax (%...%) angibst, dann erkennt das Betriebssystem, dass dieser Werte für eine Variable steht, sucht diese und liest diese, wenn vorhanden, aus. Das ist eine Funktion, die in diesem Element integriert ist. Bei den einzelnen vba-Funktionen ist das allerdings nicht der Fall. Du musst also vor der Anwendung diesen Wert aus dem System auslesen.
hier dein Code dementsprechend angepasst...
Code:

Private Sub IMGa1_Click()
Dim strEnv as String
Dim DrawingDocumentb As DrawingDocument
Dim documentsa As documents
Set documentsa = CATIA.documents

On Error Resume Next
Set DrawingDocumentb = documentsa.Item("LANDSEUP_A1.CATDrawing")
On Error GoTo 0

strEnv = Environ("FLEXPLUS_ROOT_WIN")

if strEnv = "" then exit sub

If DrawingDocumentb Is Nothing Then
    Set DrawingDocumentb = documentsa.NewFrom(strEnv & "\caa\agile\ecc\6.4\Frames\LANDSEUP_A1.CATDrawing")
End If

Unload Me

End Sub


HTH

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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

MichaelTreiber
Mitglied
Technischer Produktdesigner


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

Beiträge: 63
Registriert: 26.01.2011

Win XP/7 (64 Bit)
Catia V5R18

erstellt am: 23. Mrz. 2011 15: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

Vielen Dank, funktioniert eindwandfrei 

Rein interessehalber was genau bewirkt der Befehl "Environ"?

------------------
Grüße aus dem schönen Düsseldorf
Michael

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

RSchulz
Moderator²
Head of CAD, Content & Collaboration / IT-Manager



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

Beiträge: 5541
Registriert: 12.04.2007

@Work
Lenovo P510
Xeon E5-1630v4
64GB DDR4
Quadro P2000
256GB PCIe SSD
512GB SSD
SmarTeam V5-6 R2016 Sp04
CATIA V5-6 R2016 Sp05
E3.Series V2019
Altium Designer/Concord 19
Win 10 Pro x64

erstellt am: 23. Mrz. 2011 15:37    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 MichaelTreiber 10 Unities + Antwort hilfreich

Der liest die Systemvariable aus.

------------------
MFG
Rick Schulz

Nettiquette (CAD.de)  -  Was ist die Systeminfo?  -  Wie man Fragen richtig stellt.  -  Unities

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