< návrat zpět

MS Excel


Téma: Verze souboru rss

Zaslal/a 7.5.2016 15:26

Ahoj,
potřebuji zjišťovat verzi ze zavřeného souboru. Je to normální číslo v buňce a používal jsem na to tento příkaz: Private Function ZiskejVerzi(ByVal Cesta, ByVal Soubor, ByVal List, ByVal Bunka) As Integer
Dim arg As String
If Right(Cesta, 1) <> "\" Then Cesta = Cesta & "\"
If Dir(Cesta & Soubor) = "" Then
ZiskejVerzi = 777
Exit Function
End If
arg = "'" & Cesta & "[" & Soubor & "]" & List & "'!" & _
Range(Bunka).Range("A1").Address(, , xlR1C1)
ZiskejVerzi = ExecuteExcel4Macro(arg)
End Function

Ale u některých kolegů to na tomto kódu havaruje.
Takže mně napadlo, že bych tu verzi psal do některého atributu či tagu souboru: když se na soubor v průzkumníku klikne pravou myší, zvolí se Vlastnosti a pak karta Podrobnosti, tak je tam nabídka několika políček, kde by se dalo zapsat celé číslo do 1000. Dokonce tam je i políčko verze, ale toto není vždy přístupné.
Umí se VBA na tyto podrobnosti nějak dostat?
Anebo jak jinak (spolehlivě) číst verzi u zavřeného souboru?
Předem děkan 1

Zaslat odpověď >

#031420
elninoslov
Na ktorom riadku to havaruje, a čo to píše ? Nenatiahne sa iná hodnota ako Integer ?citovat
#031421
avatar
Na tom posledním
ZiskejVerzi = ExecuteExcel4Macro(arg)

Prostě Err je v tomto okamžiku <>0
Zajímavé je, že z deseti kolegů to nejede tak jednomu-dvěma. Ale i to stačí, aby to výrazně poškodilo důvěryhodnost jinak skvělého nástroje 7citovat
#031425
avatar
třebaDim xlApp As New Excel.Application
ZiskejVerzi = xlApp.ExecuteExcel4Macro(arg)
citovat
#031428
avatar
http://wall.cz/index.php?m=topic&id=26558#post-26750citovat
#031432
elninoslov
Najrýchlejšie, najčistejšie, najjednoduchšie riešenie bude, ak si na získanie tejto hodnoty vyčleníte jednu bunku na liste, alebo skrytý list. Makrom tam vložíte patričný vzorec za 0,1 sek, a za ďalšie 0,1 sek máte výsledok. S tým ďalej pracujete vo vzorcoch či makrách. Odporúčam túto možnosť - nazývam to "dolovacia" bunka.citovat
#031435
avatar
OK, ručne to funguje.
Ale i u tohoto mám obavu, lebo aktualizácia trvá niekedy aj 4 sekundy.
Môžem síce dať do kódu Wait, ale čo ak sa to (napr. krátkodobý výpadok internetu...) nestihne tak rýchlo zaktualizovať?citovat
#031439
elninoslov
Pri výpadku internetu ale nebude predsa fungovať žiadna možnosť. Nechce sa mi to teraz testovať, len hypotéza, ale tá bunka so vzorcom nehodí chybu #ODKAZ keď nenájde zdroj ?citovat

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