< návrat zpět

MS Excel


Téma: Poslední uložení souboru rss

Zaslal/a 12.3.2019 18:14

Snad se mi povede to dobře popsat, ale je to pěkná zrada, docela klacek pod nohy.

Je-li soubor zavřený získám pomocí LastWriteTime datum a čas poslední uložené změny čili změněno.
Po otevření souboru se však přepíše údaj změněno na aktuální datum a čas otevření ačkoli nebyl ještě uložen! Nedojde-li k uložení vrátí se předchozí hodnota změněno. Budu-li sledovat také LastAccessTime, tak po uložení se společně přepíše i tato hodnota.
Jak získám datum a čas posledního uložení bez ohledu na to je-li soubor otevřen či nikoliv?

Mohu se spolehnout, že LastAccessTime se přepíše spolu s LastWriteTime, takže je-li soubor otevřen a tyto hodnoty jsou rozdílné, pak platí menší hodnota t.j. LastAccessTime ?

Snad bude někdo vědět a osvětlí mi, jak to vlastně funguje, případně díky za odezvu.
Potřebuji znát datum a čas posledního uložení při externím připojení k souboru jako k databázi pomocí providera pro budoucí zjištění novější verze souboru. Soubor je prost VBA.

Zaslat odpověď >

#042941
avatar
Od boku - co FileDateTime(CestaSoubor)?citovat
#042942
avatar
A pokud je to sešit, pak Sesit.BuiltinDocumentProperties("Last Save Time")citovat
#042947
avatar
Díky za reakci, obojí funguje, ale se stejným efektem, po otevření vrací datum a čas otevření místo naposled změněno. BuiltinDocumentProperties mají maličko zpoždění, dost možná než se přepočítají vzorce...
Navíc přístup k BuiltinDocumentProperties či CustomDocumentProperties vyžaduje otevřít soubor a použít VBA.
Číst tyto vlastnosti bez otevření sešitu?
Přes knihovnu Shell32 lze vyčíst některé properties bez otevření v excelu, dále Dsofile.dll načítá, ale i zapisuje standardní i vlastní vlastnosti souboru OLE strukturovaného úložiště. Metadata souboru jsou připojena do strukturovaného úložiště, které lze sice rozpitvat pomocí API, avšak pro mě dost pokročilé a výsledek nejistý.
Existuje nějaký způsob, jak se dostat ke skutečné hodnotě naposled změněno, bez ohledu, že byla přepsána po otevření sešitu?citovat
#042961
avatar
Zkoušel jsem pomocí Connection otevřít schéma tabulek pomocí GetOleDbSchemaTable a zkusit získávat hodnotu změny ze sloupce s názvem DATE_MODIFIED.
Funguje, jen při připojení k otevřenému sešitu vrátí rok 1899. 1citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje