Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Datei vorhanden???

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 vorhanden??? (1278 mal gelesen)
robert_de
Mitglied
Student


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

Beiträge: 31
Registriert: 24.04.2005

erstellt am: 26. Okt. 2005 14: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

Hallo CATIA - Begeisterte ,

Habe wieder mal ein kleines Problem mit einem Makro.
Mein Makro list Daten aus und speichere diese dann in einer Excel-Tabelle an sprich im *.xls Format. Jetzt möchte ich noch folgende Funktion realisieren! Bezieht sich darauf wenn eine Datei schon vorhanden ist. Wenn ich diese Datei überschreiben will soll überprüft werden ob sie gerade verwendet wird (denn somit kann sie nicht überschrieben werden). Wenn sozusagen der Wert ausgegeben wird, dass sie bearbeitet wird sollen folgende Auswahlmöglichkeiten angeboten werden. Gleicher Name wie angeben nur mit Anhang Kopie soll erstellt werden können oder ein anderer Name soll eingegeben werden können oder es soll der Speichervorgang Abgebrochen werden.
Wäre super wenn jemand von euch dafür vielleicht eine Lösung hätte. Vielen Dank schon jetzt für die hoffentlich zahlreichen Tipps und Anregungen zum Code.

------------------
Viele Grüße Robert
und vielen Dank für jeden Beitrag!!!

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

gdir
Mitglied



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

Beiträge: 157
Registriert: 25.06.2003

erstellt am: 27. Okt. 2005 07:47    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 robert_de 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von robert_de:
Hallo CATIA - Begeisterte ,

[...]
Wenn ich diese Datei überschreiben will soll überprüft werden ob sie gerade verwendet wird (denn somit kann sie nicht überschrieben werden).
[...]


Woher weisst Du, dass eine Datei gerade verwendet wird?

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 28. Okt. 2005 06:45    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 robert_de 10 Unities + Antwort hilfreich

Hallo,

gdir: ich glaube das wollte er von uns wissen ;-)


robert_de: ich würde auch gerne wissen wie man diese Information abgreift.
Ich schätze mal die Lösung wird/könnte darin liegen, das man das über irgendwelche betriebssystemspezifischen Programmierfunktionen lösen kann. Hab mal was gelesen über LastAccessDatum. Genaueres kann ich dir leider nicht sagen, da ich hierfür gerne selber ne Möglichkeit wüsste. Aber vielleicht bring deine Anfrage ja noch die Lösung hier im Forum.
Ansonsten mal in anderen Foren posten, die sich mit Betriebssystemprogrammierung (WindowsScript, VB...) beschäftigen und dann natürlich die Lösung hier posten ;-)

------------------
MfG
Randle

! It's not a bug, it's a feature !

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 28. Okt. 2005 08:33    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 robert_de 10 Unities + Antwort hilfreich

Hallo,

wenn man unter Windows ein Excel-file öffnet, welches schon ein anderer User geöffnet hat, so wird das Excel-file automatisch schreibgeschütz geöffnet. Dann kann man den Schreibschutz einfach über die Property ReadOnly des ActiveWorkbooks abfragen, also so:

'--------------Excel auf
NamExcel = Catia.FileSelectionBox("Select Excel","*.xls", CatFileSelectionModeOpen)
If NamExcel = "" Then
  End            '---------in VB End / im CATSCript Exit Sub
End If

Set objXL = CreateObject("Excel.Application")
objXL.Visible = True

objXL.Workbooks.Open NamExcel

bReadWrite = objXL.ActiveWorkbook.ReadOnly  '---True = Schreibgeschützt / False = nicht ...

------------------
tomtom1972

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

robert_de
Mitglied
Student


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

Beiträge: 31
Registriert: 24.04.2005

erstellt am: 28. Okt. 2005 13: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


Code-Teil.txt

 
Hallo tomtom1972, vielen Dank für deinen Tip.

Leider bekomme ich das nicht ganz hin das in meinem Code umzusetzen.
Deswegen habe ich dir den teil der bei mir das erstellen der Excel Datei übernimmt einfach mal in den Anhang geschrieben. Villeicht kannst du mir da etwas besser zeigen wie deine Lösung gemeint ist.

Ach ja bin nur auf diese fragestellung gestoßen da mir uafgefallen ist das wenn ich die Tabelle geöffnet habe und meien Makro noch einmalüber mein Product laufen lasse und dann keine neu Datei erstellen sondern einfach die alte erstzen will einen Fehler wegen Print bekomme da diese Datei ja gerade verwendet wird.

Vielen dabk schon jetzt für alle Hilfreichen Tips und Kniffe villeicht kann mir ja jetzt jemand noch etwas genauer wieterhelfen wenn er meinen Code sich angeschaut hat.

------------------
Viele Grüße Robert
und vielen Dank für jeden Beitrag!!!

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 31. Okt. 2005 06:53    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 robert_de 10 Unities + Antwort hilfreich

Hallo robert_de,

der vorhergehende (o.s.) Code macht folgendes:
-öffnet Fenster zur Auswahl eines xls.files
-lädt xls.file
-überprüft, ob xls.file schreibgeschütz

Dein Probelm ist ja ein anderes. Versuche einmal folgendes:

'Dim bFileExists as Boolean
bFileExists = false

Set oFileSystem = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFileSystem.GetFolder(sFolderToCheck)  '----sFolderToCheck = absolter Pfadname (String) des Ordners, in den dein File gesichert werden soll, also z.B. c\test\test2\123
Set oFiles = oFolder.Files
For Each File In oFiles
  If oFiles.Item(File.Name) = sSearchedFileName Then  '---sSearchedFileName = Dateiname (String), der gesucht wird, also z.B. 456.xls 
            bFileExists = True
            Exit For
  End If
Next

Wenn deine Datei schon existiert, hat der Boolean bFileExists nach dem Durchlauf des Scripts den Wert = True.

Hoffe das hilft dir weiter.

Gruss TomTom

------------------
tomtom1972

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

robert_de
Mitglied
Student


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

Beiträge: 31
Registriert: 24.04.2005

erstellt am: 02. Nov. 2005 15:00    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


Makro.zip

 
Hallo tomtom1972,

vielen Dank für deine erneute Erklärung.
Aber irgendwie bekomme ich das ganze nicht wirklich hin, habe dir mal eine verkürze Version meine Makros angehängt, dein Code ist auch schon mit eingebunden. Nur scheine ich genau da den Fehler zu machen, dass es bei mir einfach nicht funktionieren will.
Wäre echt nett wenn du es dir mal anschauen würdest, vielleicht kannst mir dann ja etwas besser helfen.
Gibt es eigentlich die Möglichkeit das ganze dynamischer zu gestalten? Denn mit deinem Code ist man ja an einen Speicherort und Dateinamen gebunden. Kann ich da meine Variable "Datensatz" nutzen (siehe Makro)?

Jetzt schon vielen Dank für deine Antwort wenn du dir noch mal die Arbeit machen solltest und dich mit meinem Problem beschäftigst.

------------------
Viele Grüße Robert
und vielen Dank für jeden Beitrag!!!

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 04. Nov. 2005 07: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 robert_de 10 Unities + Antwort hilfreich


Macro1.txt

 
Hallo,

die Pfadangaben/Namen waren ein Bsp.
Dein Problem mit dem überschreiben verstehe ich immer noch nicht. Man kann (zumindest unter Windows) keine xls-file überschreiben, den jemand anders geöffnet hat.

Im Anhang findest du ein Script, was nichts anderes Macht, als ein leeres xls-file zu erzeugen. Du bekommst eine Abfrage, falls es eine gleichnamige schon einmal gibt. Überschreiben geht nicht, falls diese schon mal geöffnet ist. Dann bist du im Script in einer Schleife und das ganze fängt von vorne an. Probiers aus. Das ganze Zeug ist gedimmt (hilft beim Verständnis) und ein bischen erklärt.

Kopiers einfach in dein Script rein.

Hoffe es geht jetzt alles

Gruss

TomTom

------------------
tomtom1972

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