RTF-Datei neu schreiben
Moderator: Moderatoren
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
RTF-Datei neu schreiben
Hallo zusammen,
ich habe word 20126 im Einsatz. meine Kunden haben vermutlich diverse versionen
Ich habe Listen die ich als rtf-Datei speichere und dann nach bedarf ausdrucken kann. hatte mir vorherigen word-versionen immer funkt.
wie kann ich eine bestehende rtf-Datei ersetzen. word setzt immer beim ersten Mal einen schreibschutz drauf.
ich hebe diesen schon immer mit fattr auf. d.h. die Datei kann ich einmal schreiben.
wie kann ich das umgehen. richtig setzen??
ich habe word 20126 im Einsatz. meine Kunden haben vermutlich diverse versionen
Ich habe Listen die ich als rtf-Datei speichere und dann nach bedarf ausdrucken kann. hatte mir vorherigen word-versionen immer funkt.
wie kann ich eine bestehende rtf-Datei ersetzen. word setzt immer beim ersten Mal einen schreibschutz drauf.
ich hebe diesen schon immer mit fattr auf. d.h. die Datei kann ich einmal schreiben.
wie kann ich das umgehen. richtig setzen??
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: RTF-Datei neu schreiben
ferase funktioniert nicht - es bleibt immer die gleiche Datei. von heute Uhrzeit 10.15
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: RTF-Datei neu schreiben
es hat auf jedenfall mit Zugriffsberechtigung zu tun. ich bin Administrator und habe auch in den Berechtigungen keine Einschränkung gefunden.
WIN 7 - 64 bit. alaska - version 19 335
oder liegt es an Word 16 Home ??
WIN 7 - 64 bit. alaska - version 19 335
oder liegt es an Word 16 Home ??
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: RTF-Datei neu schreiben
Würde ja bedeuten, dass Du diese Datei nicht löschen kannst aber kannst Du die Datei eventuell renamen?Rolf Ramacher hat geschrieben: ↑Do, 11. Jul 2019 12:03 ferase funktioniert nicht - es bleibt immer die gleiche Datei. von heute Uhrzeit 10.15
Klingt jetzt paradox aber ...
Ahoile aus dem Süden
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
- HaPe
- 1000 working lines a day
- Beiträge: 996
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 15 Mal
Re: RTF-Datei neu schreiben
Hallo Rolf !
Vielleicht will Word die Datei vor Veränderungen schützen weil gefährlich oder der Dateityp zu alt ist
Bei mir sitzen dort keine Häkchen und ich kann meine (alten) RTF-Dateien öffnen, ändern und wieder Speichern ohne dass ein Schreibschutz aktiviert wird.
Wenn das bei dir hilft, könnte man eine REG-Datei mit den geänderten Einstellungen machen und deinen Kunden zukommen lassen mit der Bitte diese "auszuführen" um die passenden Word-Einstellungen zu setzen.
Wie sieht es denn mit den Einstellungen in Word im Trust Center unter Zugriffsschutzeinstellungen für RTF-Dateien fürs Öffnen und Speichern aus?wie kann ich eine bestehende rtf-Datei ersetzen. word setzt immer beim ersten Mal einen schreibschutz drauf.
ich hebe diesen schon immer mit fattr auf. d.h. die Datei kann ich einmal schreiben.
Vielleicht will Word die Datei vor Veränderungen schützen weil gefährlich oder der Dateityp zu alt ist
Bei mir sitzen dort keine Häkchen und ich kann meine (alten) RTF-Dateien öffnen, ändern und wieder Speichern ohne dass ein Schreibschutz aktiviert wird.
Wenn das bei dir hilft, könnte man eine REG-Datei mit den geänderten Einstellungen machen und deinen Kunden zukommen lassen mit der Bitte diese "auszuführen" um die passenden Word-Einstellungen zu setzen.
--
Hans-Peter
Hans-Peter
- AUGE_OHR
- Marvin
- Beiträge: 12912
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: RTF-Datei neu schreiben
hi,
beim Schreib-Schutz kann man von "locking" sprechen denn mit Office 2016 Dokumenten kann man inzwischen "gemeinsam" arbeiten.
IMHO ist das der Grund warum es SMB3 gibt
ich habe mich mit dem Thema noch nicht beschäftigt also kann ich zu dem Problem nichts sagen aber bei Google findet man weitere Hinweis.
beim Schreib-Schutz kann man von "locking" sprechen denn mit Office 2016 Dokumenten kann man inzwischen "gemeinsam" arbeiten.
IMHO ist das der Grund warum es SMB3 gibt
ich habe mich mit dem Thema noch nicht beschäftigt also kann ich zu dem Problem nichts sagen aber bei Google findet man weitere Hinweis.
gruss by OHR
Jimmy
Jimmy
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: RTF-Datei neu schreiben
Hallo Rolf
vielleicht liegt es ja auch an den erweiterten Fileattributen die kannst du mit fattr() gar nicht sehen.
Hier helfen die beiden Aufrufe weiter:
vielleicht liegt es ja auch an den erweiterten Fileattributen die kannst du mit fattr() gar nicht sehen.
Hier helfen die beiden Aufrufe weiter:
Code: Alles auswählen
DLLFUNCTION SetFileAttributesA( cSfile, nAttrib ) USING STDCALL from Kernel32.dll
DLLFUNCTION GetFileAttributesA( cSfile ) USING STDCALL from Kernel32.dll
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9390
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 363 Mal
- Kontaktdaten:
Re: RTF-Datei neu schreiben
Nochmal für Fußgänger: Eine RTF-Datei wird in Word - per AX - erzeugt, aus Word heraus gespeichert, und das funktioniert, aber wenn man die Datei später überschreiben will, geht das nicht? oWord:Save() oder so macht/bewirkt nichts? Oder wie versuchst Du das, Rolf?
Word sperrt Dateien während der Bearbeitung nach außen fürs Überschreiben.
Word sperrt Dateien während der Bearbeitung nach außen fürs Überschreiben.
Herzlich,
Tom
Tom
- AUGE_OHR
- Marvin
- Beiträge: 12912
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: RTF-Datei neu schreiben
es passiert beim "speichern unter"Rolf Ramacher hat geschrieben: ↑Do, 11. Jul 2019 11:23 Ich habe Listen die ich als rtf-Datei speichere und dann nach bedarf ausdrucken kann.
Nämlich indem Sie das Dokument unter „Speichern unter“ als .odt, .rtf oder .txt abspeichern. Wenn Sie sich für ein .rtf-Dokument entscheiden, bleibt der Dokumentenschutz zwar aktiv, das Passwort ist jedoch nicht mehr vorhanden.
das ist im Pop-Up MenuRolf Ramacher hat geschrieben: wie kann ich eine bestehende rtf-Datei ersetzen. word setzt immer beim ersten Mal einen schreibschutz drauf.
1. Klicken Sie mit der rechten Maustaste auf das Word-Dokument, bei dem Sie den Schreibschutz aufheben wollen.
2. Nun öffnet sich ein Dialogfenster. Wählen Sie den Punkt „Eigenschaften“ aus.
3. Es öffnet sich ein weiteres Fenster. Ganz unten finden Sie den Bereich Attribute.
4. Entfernen Sie das Häkchen bei „Schreibgeschützt“.
gruss by OHR
Jimmy
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: RTF-Datei neu schreiben
Der Dokumentschutz hat aber absolut NICHTS mit dem Schreibschutz einer Datei an sich zu tun und genauAUGE_OHR hat geschrieben: ↑Fr, 12. Jul 2019 11:17es passiert beim "speichern unter"Rolf Ramacher hat geschrieben: ↑Do, 11. Jul 2019 11:23 Ich habe Listen die ich als rtf-Datei speichere und dann nach bedarf ausdrucken kann.Nämlich indem Sie das Dokument unter „Speichern unter“ als .odt, .rtf oder .txt abspeichern. Wenn Sie sich für ein .rtf-Dokument entscheiden, bleibt der Dokumentenschutz zwar aktiv, das Passwort ist jedoch nicht mehr vorhanden.
um diese Problem geht es m.E. bei Rolfs Posting.
Solche manuellen Manipulationen sind absolut nicht zielführend, es geht lt. Rolf's Problemdarstellung m.E. doch EINDEUTIGAUGE_OHR hat geschrieben: ↑Fr, 12. Jul 2019 11:17das ist im Pop-Up MenuRolf Ramacher hat geschrieben: wie kann ich eine bestehende rtf-Datei ersetzen. word setzt immer beim ersten Mal einen schreibschutz drauf.1. Klicken Sie mit der rechten Maustaste auf das Word-Dokument, bei dem Sie den Schreibschutz aufheben wollen.
2. Nun öffnet sich ein Dialogfenster. Wählen Sie den Punkt „Eigenschaften“ aus.
3. Es öffnet sich ein weiteres Fenster. Ganz unten finden Sie den Bereich Attribute.
4. Entfernen Sie das Häkchen bei „Schreibgeschützt“.
darum, dass offenbar unter "word 2016" die DATEI selbst beim speichern schreibgeschützt wird und somit in weiterer Folge
ohne Aufheben des DATEI-Schreibschutzes nicht überschrieben und zudem auch mittels ferase etc. nicht direkt gelöscht werden kann.
Rolf hat ja auch angeführt, dass es in früheren Word-Versionen dieses Problem nicht gab ( kenne so ein Problem selbst auch nicht )
Zuletzt geändert von flanelli am Fr, 12. Jul 2019 11:47, insgesamt 1-mal geändert.
Ahoile aus dem Süden
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: RTF-Datei neu schreiben
Rolf hat doch geschriebenramses hat geschrieben: ↑Fr, 12. Jul 2019 10:23 Hallo Rolf
vielleicht liegt es ja auch an den erweiterten Fileattributen die kannst du mit fattr() gar nicht sehen.
Hier helfen die beiden Aufrufe weiter:Code: Alles auswählen
DLLFUNCTION SetFileAttributesA( cSfile, nAttrib ) USING STDCALL from Kernel32.dll DLLFUNCTION GetFileAttributesA( cSfile ) USING STDCALL from Kernel32.dll
Zitat
ich hebe diesen schon immer mit fattr auf. d.h. die Datei kann ich einmal schreiben
also löst er bis dato sein Problem ja bereits "behelfsmäßig" um die Datei erzeugen zu können
aber er möchte ja genau diesen Schritt umgehen und sucht nach einer Möglichkeit, den offenbar unter WORD2016
vorgenommenen Dateischreibschutz beim Speichern einer RTF generell zu verhindern.
Kann ja sein, dass nur ich das ganz falsch sehe, aber ich kann Rolf's Problembeschreibung einfach nicht anders deuten ..
Ahoile aus dem Süden
- AUGE_OHR
- Marvin
- Beiträge: 12912
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: RTF-Datei neu schreiben
ich hätte es auf den Teil kürzen sollen ...
sobald man unter "speichern unter" .odt, .rtf oder .txt abspeichert wird die Schreibgeschützt
Dann gibt es noch den Dokumenten Schutz und Passwort
wie schon gesagt sollte man im Dokument, rechte Maustaste -> Eigenschaften -> Schreibschutz eine Checkbox finden.
gruss by OHR
Jimmy
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: RTF-Datei neu schreiben
Jimmy, das würde aber dennoch bedeuten. dass jeder Anwender ( Kunde ) von Rolf's Programm, falls dieser eine, der vom ProgrammAUGE_OHR hat geschrieben: ↑Fr, 12. Jul 2019 11:59ich hätte es auf den Teil kürzen sollen ...
sobald man unter "speichern unter" .odt, .rtf oder .txt abspeichert wird die Schreibgeschützt
Dann gibt es noch den Dokumenten Schutz und Passwort
wie schon gesagt sollte man im Dokument, rechte Maustaste -> Eigenschaften -> Schreibschutz eine Checkbox finden.
erstellten RTF-Dateien direkt in Word verändert und dann erneut abspeichert, diesen automatischen "Datei"schreibschutz selbst
wieder aufheben müßte. Das wäre ja thematisch schon deshalb völliger Unsinn, denn wenn der Kunden die, vom Programm ja immer
wieder neu zu erstellende Datei bzw. erstellte verändert aber nicht unter einem anderen Namen abspeichert, seine manuellen Änderungen
ohnehin auch immer wieder "verschwinden" würden.
via ActiveX finde ich jedenfalls beim Speichern einer Datei im RTF-Format keinen Parameter der einen DATEI-Schutz erstellt bzw.
einen solchen verhindert, allerdings verfüge ich über keine WORD-VBA-2016.CHM Datei in der es möglicherweise eine solche
Möglichkeit gegenüber den Vorgängerversionen eventuell doch geben könnte.
Ausdruck.SaveAs(FileName, FileFormat, LockComments, Password, AddToRecentFiles, WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter)
LockComments und ReadOnlyRecommended beziehen sich EINDEUTIG nur auf den INHALT des Dokumentes aber nicht auf die DATEI an sich.
Ahoile aus dem Süden
- AUGE_OHR
- Marvin
- Beiträge: 12912
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
-
- Rekursionen-Architekt
- Beiträge: 151
- Registriert: Di, 11. Mai 2010 16:27
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
Re: RTF-Datei neu schreiben
Jimmy, Ich gebs auf...
wenn ich einem Kunden vorschreiben muss, dass er beim MANUELLEN Abspeichern darauf achten muss
und ich das Problem programmtechnisch nicht automatisch lösen kann dann wird mir der Kunde was "pfeifen".
Wenn der Kunde die Datei unter dem gleichen Namen und Speicherort abspeichert, unter dem diese RTF-Datei
wohl offenbar von Ralf's Programm immer wieder erstellt wird, ja DANN aber NUR DANN ist der Kunden wahrlich selbst schuld
wenn "Seine" maneullen Änderungen nicht mehr vorhanden sind.
Rolf "löst" das Problem ja derzeit via fattr und genau das möchte er eben - ich sehe das immer noch so - vermeiden
und einen anderen Weg finden bzw. zumindest wenn nicht machbar klar sehen, dass er eben weiterhin mit fattr das machen muss,
@Rolf, wäre nett, wenn Du gelegentlich mal kurz dazu Stellung nehmen könntest wie das nur wirklich abläuft bei dir, DANKE
So wie Tom schon des öfteren mal angeführt hat .... "für Fußgänger" ....
Sollte ich in diesem Fall einer sein, dann gebe ICH JEDENFSLLS meinen Irrtum gerne ohne wenn und aber zu...
PS.: @Jimmy, ich habe derzeit ca. 1800 Anwender und wenn ich jedem vorschreiben möchte wie er eine von meinen Programmen
erstelle "externe" Datei wie z.B. Word oder Excel" in weiterer Folge manuell abspeichern muss damit es bei einer neuerlichen Erstellung
keine Probleme gibt, dann habe ich sehr schnell nur mehr 0 Anwender...
Ahoile aus dem Süden
- HaPe
- 1000 working lines a day
- Beiträge: 996
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 15 Mal
Re: RTF-Datei neu schreiben
Hallo Rolf !
Du solltest uns nochmal genau beschreiben was du wie mit dem RTF-Dokument machst.
Ich kann bei mir ein Word-Dokument (Word 2016) im Original-Format (DOCX) sowohl auf dem PC wie einem Netzlaufwerk (NAS) mit händischem "Speichern unter" RTF schreiben ohne dass da ein Schreibschutz welcher Art auch immer (FileSystem, WinWord, ...) aktiviert wird.
Auch per OLE mit SaveAs( 'MyRTF.rtf', 6 ) wird kein Schreibschutz aktiviert
Du solltest uns nochmal genau beschreiben was du wie mit dem RTF-Dokument machst.
Ich kann bei mir ein Word-Dokument (Word 2016) im Original-Format (DOCX) sowohl auf dem PC wie einem Netzlaufwerk (NAS) mit händischem "Speichern unter" RTF schreiben ohne dass da ein Schreibschutz welcher Art auch immer (FileSystem, WinWord, ...) aktiviert wird.
Auch per OLE mit SaveAs( 'MyRTF.rtf', 6 ) wird kein Schreibschutz aktiviert
--
Hans-Peter
Hans-Peter
- AUGE_OHR
- Marvin
- Beiträge: 12912
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: RTF-Datei neu schreiben
wir reden aneinander vorbei ...
die Frage von Ralf war
ich verstehe das er die Datei nicht löschen kann ... wiesowie kann ich eine bestehende rtf-Datei ersetzen. word setzt immer beim ersten Mal einen schreibschutz drauf.
...
ich hebe diesen schon immer mit fattr auf. d.h. die Datei kann ich einmal schreiben.
Die Antwort von Tom war
worauf Rolf geantwortet hatCode: Alles auswählen
FErase()?
die Frage ist nun "warum" man die nicht löschen kann ... es sind nicht die gewöhnlichen File Attribute.ferase funktioniert nicht - es bleibt immer die gleiche Datei. von heute Uhrzeit 10.15
der erste Verdacht war "Netzwerk" denn ab Office 2016 ist es ja grundsätzlich möglich Dokumente gemeinsam zu nutzen.
das andere was ich fand war die Aussage über "speichern unter" wo bei besagten Formaten ein "Schreibschutz" aktiviert werden soll. das ist die besagte Checkbox die aber wohl kein File Attribut ist
---
wie Hape schon sagte sollte Rolf mal sagen wie die RTF erstellt wird und auf den Server (?) gelangt.
p.s. wenn eine Datei im Zugriff war dauert es eine Zeit bis es "wirkt" ... ähnlich wie beim löschen einer Datei.
p.s.p.s. für ganz hartnäckige Dateien gibt es "Delete.On.Reboot"
http://www.softwareok.de/?seite=Freewar ... .On.Reboot
gruss by OHR
Jimmy
Jimmy
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: RTF-Datei neu schreiben
Guten Morgen zusammen,
ich bin seit wochenende aus dem Urlaub zurück. Die Vorgehensweise ist folgende. Ich habe eine RTF-Datei als Vorlage. Die Platzhalter [..]
werden entsprechend ersetzt und die RTF-Datei mit memowrit überschrieben. Damit diese von den "Usern" nicht gesehen und verändert werden können habe ich diese mit fattr "gesichert". Dies hat auch bisher immer funktioniert - bei Word 2016 scheint dies etwas anders zu laufen.
mein code sieht so aus.
gibt es bei Word 2016 einen anderen Ansatz?
ich bin seit wochenende aus dem Urlaub zurück. Die Vorgehensweise ist folgende. Ich habe eine RTF-Datei als Vorlage. Die Platzhalter [..]
werden entsprechend ersetzt und die RTF-Datei mit memowrit überschrieben. Damit diese von den "Usern" nicht gesehen und verändert werden können habe ich diese mit fattr "gesichert". Dies hat auch bisher immer funktioniert - bei Word 2016 scheint dies etwas anders zu laufen.
mein code sieht so aus.
Code: Alles auswählen
cRtf:=strtran(cRtf,"[text]",cText)
FAttr("artikelker.rtf","-H")
FAttr("artikelker.rtf","-R")
FErase("artikelker.rtf")
memowrit("artikelker.rtf",cRtf)
FAttr("artikelker.rtf","H")
FAttr("artikelker.rtf","R")
gibt es bei Word 2016 einen anderen Ansatz?
- HaPe
- 1000 working lines a day
- Beiträge: 996
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 15 Mal
Re: RTF-Datei neu schreiben
Hallo Rolf !
Du hast eine RTF-Vorlagendatei mit den "Platzhaltern". Beim "Drucken" ersetzt du diese Platzhalter mit den aktuellen Werten. Soweit klar.
Aber welche "RTF-Datei mit memowrit überschrieben" wird denn nun überschrieben?
Doch nicht die Vorlagendatei sondern eine andere "Alte" weil ja sonst die Platzhalter weg wären.
Und diese ist noch auf Hidden und ReadOnly gesetzt, aber wozu?
Die RTF-Vorlagedatei sollte meiner Meinung nach auf Hidden und ReadOnly stehen. Wenn du diese Textdatei einliest, die Platzhalter ersetzt und dann mit memowrit wieder mit anderem Namen auf die Platte schreibst musst du doch keine Versteckte und Schreibgeschützte RTF-Datei ersetzten.
Ich blicke hier noch nicht durch wo ein Problem sein sollte.
Andere Möglichkeit: Wer sagt dass deine RTF-Vorlagendatei die Endung RTF haben muss. Die kann ja ganz anders heißen und kein User kann die dann durch anklicken im Explorer öffnen.
Oder noch anders: Bei jedem Drucken wird vom Netz diese Vorlagendatei durch deine Anwendung in ein lokales Verzeichnis kopiert, eingelesen, die Platzhalter ersetzt, gedruckt oder gespeichert. Nach Abschluß dann wieder ins Netz kopiert mit einem eindeutigen und einzigartigem Namen und mit dem Kunden verknüpft.
Es muss nichts überschrieben werden ...
Ich kann dir noch nicht ganz folgen.Ich habe eine RTF-Datei als Vorlage. Die Platzhalter [..] werden entsprechend ersetzt und die RTF-Datei mit memowrit überschrieben. Damit diese von den "Usern" nicht gesehen und verändert werden können habe ich diese mit fattr "gesichert". Dies hat auch bisher immer funktioniert - bei Word 2016 scheint dies etwas anders zu laufen.
Du hast eine RTF-Vorlagendatei mit den "Platzhaltern". Beim "Drucken" ersetzt du diese Platzhalter mit den aktuellen Werten. Soweit klar.
Aber welche "RTF-Datei mit memowrit überschrieben" wird denn nun überschrieben?
Doch nicht die Vorlagendatei sondern eine andere "Alte" weil ja sonst die Platzhalter weg wären.
Und diese ist noch auf Hidden und ReadOnly gesetzt, aber wozu?
Die RTF-Vorlagedatei sollte meiner Meinung nach auf Hidden und ReadOnly stehen. Wenn du diese Textdatei einliest, die Platzhalter ersetzt und dann mit memowrit wieder mit anderem Namen auf die Platte schreibst musst du doch keine Versteckte und Schreibgeschützte RTF-Datei ersetzten.
Ich blicke hier noch nicht durch wo ein Problem sein sollte.
Andere Möglichkeit: Wer sagt dass deine RTF-Vorlagendatei die Endung RTF haben muss. Die kann ja ganz anders heißen und kein User kann die dann durch anklicken im Explorer öffnen.
Oder noch anders: Bei jedem Drucken wird vom Netz diese Vorlagendatei durch deine Anwendung in ein lokales Verzeichnis kopiert, eingelesen, die Platzhalter ersetzt, gedruckt oder gespeichert. Nach Abschluß dann wieder ins Netz kopiert mit einem eindeutigen und einzigartigem Namen und mit dem Kunden verknüpft.
Es muss nichts überschrieben werden ...
--
Hans-Peter
Hans-Peter
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9390
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 363 Mal
- Kontaktdaten:
Re: RTF-Datei neu schreiben
Mmh.
Ich würde zunächst einmal der entstehenden Datei einen anderen Namen geben als dem Original. Wenn ich das richtig verstehe, erzeugst Du aus dem Template den zu druckenden Text, den Du aber danach nicht mehr brauchst? Dann erzeuge ihn doch mit einem temporären Namen (es gibt in Xbase++ eine Funktion "TempFile()", die ggf. dabei hilft) im Temp-Verzeichnis des jeweiligen Users. Da kommt man auch üblicherweise nicht ganz so leicht ran. GetTempPathA() aus KERNEL32.DLL liefert Dir den User-Temp-Pfad. Speicher das Ding dort und drucke es auch von da. Und dann lösche es wieder. Oder warte darauf, dass das im Rahmen der Systembereinigung passiert.
Ich würde zunächst einmal der entstehenden Datei einen anderen Namen geben als dem Original. Wenn ich das richtig verstehe, erzeugst Du aus dem Template den zu druckenden Text, den Du aber danach nicht mehr brauchst? Dann erzeuge ihn doch mit einem temporären Namen (es gibt in Xbase++ eine Funktion "TempFile()", die ggf. dabei hilft) im Temp-Verzeichnis des jeweiligen Users. Da kommt man auch üblicherweise nicht ganz so leicht ran. GetTempPathA() aus KERNEL32.DLL liefert Dir den User-Temp-Pfad. Speicher das Ding dort und drucke es auch von da. Und dann lösche es wieder. Oder warte darauf, dass das im Rahmen der Systembereinigung passiert.
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15703
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 70 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: RTF-Datei neu schreiben
Ich denke es hängt mit den Dateieigenschaften selbst zusammen, Win 7 ff ... haben da ein Eigenleben.
Wie TOM schrieb, temporäre Namen nutzen ...
Ich habe z.B. das Problem, dass bei Bilddateien nicht mehr das Änderungsdatum sondern das Erstellungsdatum (Aufnahmedatum) im Explorer angezeigt wird.
Wenn ich speichern unter ... mache und einen neuen Namen wähle stimmt die Anzeige.
Lösche ich nun das Original und benenne die neue Datei auf den alten Namen um ... schon ist die Anzeige wieder auf dem Aufnahmedatum
Eventuell auch was mit Metadaten oder die Datei wird nicht schnell genug wieder frei gegeben und gilt als in Benutzung, all das kann man mit temporären Dateien umgehen.
Wie TOM schrieb, temporäre Namen nutzen ...
Ich habe z.B. das Problem, dass bei Bilddateien nicht mehr das Änderungsdatum sondern das Erstellungsdatum (Aufnahmedatum) im Explorer angezeigt wird.
Wenn ich speichern unter ... mache und einen neuen Namen wähle stimmt die Anzeige.
Lösche ich nun das Original und benenne die neue Datei auf den alten Namen um ... schon ist die Anzeige wieder auf dem Aufnahmedatum
Eventuell auch was mit Metadaten oder die Datei wird nicht schnell genug wieder frei gegeben und gilt als in Benutzung, all das kann man mit temporären Dateien umgehen.
Gruß
Hubert
Hubert
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: RTF-Datei neu schreiben
Hallo Hans Peter
die vorlage-dateien heissen alle auch vorlage .... .rtf
dann als neue rtf.datei abgespeichert . der User kann dann auswählen drucken oder ansehen. die rtf-datei wird nicht überschrieben.
bei den älteren word-versionen funktionierte alles einwandfrei
die vorlage-dateien heissen alle auch vorlage .... .rtf
dann als neue rtf.datei abgespeichert . der User kann dann auswählen drucken oder ansehen. die rtf-datei wird nicht überschrieben.
bei den älteren word-versionen funktionierte alles einwandfrei