Prüfen ob geöffnete Datei schreibgeschützt ist

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Prüfen ob geöffnete Datei schreibgeschützt ist

Re: Prüfen ob geöffnete Datei schreibgeschützt ist

von oktobaer » Di, 14.07.2009 22:44

Hallo Ihr!

Habe das "on error" und das mit getattrib ausprobiert.
Leider erkennt das Makro so nicht ob die Datei schon von einer anderem Benutzer belegt ist.
Habe immer nur 32 ausgelesen (Archivbit).

Gelöst habe ich es jetzt dadurch, dass ich beim Öffnen der Datei mit

Code: Alles auswählen

SetAttrib url,1
die Datei aktiv auf ReadOnly setze, damit weitere Anwendungen gesperrt sind.
Allerdings muss bei Schreibvorgängen und beim Speichern kurzzeitig mit

[

Code: Alles auswählen

etAttrib url,0
wieder Schreiben zugelassen werden.

Mal sehen ob sich diese Taktik in der Praxis bewährt!

Danke für Eure Hilfe!


Oktobaer

Re: Prüfen ob geöffnete Datei schreibgeschützt ist

von sarotti » Do, 12.02.2009 15:07

Hallo Oktobaer

...hier eine Variante mit dem Auslesen der Datiattribute...

Code: Alles auswählen


if GetAttr(Url)=1 then  '1=schreibgeschützt
	msgBox "Die Datei ''"+sQuellDatei+"'' ist schreibgeschützt",16,"Abbruch"
	exit sub
end if
Du könntest im Fehlerfall aber auch den Fehler selber abfangen... "ON ERROR Goto ..."

Gruss
sarotti

Re: Prüfen ob geöffnete Datei schreibgeschützt ist

von keksi1970 » Mi, 11.02.2009 22:51

hi,

wie wäre es mit

if Doc_B.IsReadonly = true then

funktioniert bei mir, wenn ich das dokument von anfang an schreibgeschützt öffne ^^

lg Andreas

Prüfen ob geöffnete Datei schreibgeschützt ist

von oktobaer » Mo, 09.02.2009 16:24

Hallo Ihr!

Habe ja hier im Forum den genialen Tipp bekommen wie man eine Datei unsichtbar öffnet.
Nun kann es passieren, dass zwei Anwendungen gleichzeitig darauf zugreifen, was im "nur lese Modus" auch funktioniert - erst beim Schreiben gibt es einen Fehler!

FRAGE: Kann ich beim Öffnen via:
FUNCTION MDB_Open
if Tracking%=1 then print"MDB_Open"
if MDBFileOpen%=0 then
oDesktop = createUnoService("com.sun.star.frame.Desktop")
Datei$=SetupRead(8,2)
Url = ConvertToUrl (Datei$)
dim p(0) as new com.sun.star.beans.PropertyValue
p(0).Name = "Hidden"
p(0).Value = true
Doc_B = StarDesktop.loadComponentFromURL(Url, "_default", 0, p())
MDBFileOpen%=1
end if
END FUNCTION
... prüfen ob die Datei schon geöffnet ist?

Danke!

Oktobaer

Nach oben