
Excel 2016 - chyba při ukládání dokumentu
Zdravím,
mám excelovský soubor s uložením aktuálního listu do PDF přes tlačítko na listu. Soubor byl vytvořen v Excelu 2013 a s Windows 7 fungoval bezproblému. Po aktualizaci na Windows 10 + Office 2016 se velmi často objeví chybová hláška
Run-time error '1004':
Dokument nebyl uložen. Možné příčiny: Dokument je otevřen nebo došlo při ukládání k chybě.
kód pro ukládání:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\cesta\" & JmenosDatumem & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
někdy dokument uložit jde jednou, někdy ani to ne, výsledný pdf soubor není nikde viditelně otevřen.
Díky
JmenosDatumem je čo? Skús to dať preč
Skús pozrieť aj sem, je tam zopár tipov
http://www.mrexcel.com/forum/excel-questions/61913 5-run-time-error-1004-document-not-saved-when-expo rting-pdf-visual-basic-applications.html
JmenosDatumem je proměnná, podle které se tvoří název souboru - ta funguje
Podle odkazu, jsem zkusil zařadit příkaz On Error Resume Next který sice chybovou hlášku nezobrazí, ale dokument se stejně neuloží, buď je špatný příkaz k uložení, nebo v nových Office něco někde nepovolené, ani v jednom případě mi není jasné, proč soubor jde "někdy náhodně" správně uložit, po prvním zobrazení chyby už ne, přijde mi, že je soubor někde zamčený v cache, ale nevím čeho se chytit...
nemá ten dátum iný formát? no asi nie.. ale aj tak by som tam dal pevný názov
a keď tak, trocha to prerobiť, namiesto activesheet dať sheet(1), neukladať sheet ale workbook, trebárs najprv uložiť do iného xlsx, ten otvoriť a uložiť ako pdf
postupnými krokmi na to možno prídeš
Díky,
ale obávám se, že tudy cesta nepovede. Pevný název není možný, ale v tomto chyba nebude, proměnná funguje, ukládat sheet musím - ukládám list z databáze, ne celou databázi, jak říkám, v předchozí verzi bezproblému uložil mnoho tisíc takových dokumentů, blbne až po aktualizaci a náhodně, ne že by to nefungovalo vůbec.
Na internetu je dotazů k tomuto problému celkem dost, ve většině případů bylo poskládaný špatně jméno souboru. Když to makro breakneš na tom řádku, který hází chybu a vypíšeš si v okně
dostaneš opravdu plnohodnotné jméno souboru s cestou? Nemáš totiž uvedeno, jak tu proměnnou "JmenosDatumem" plníš. Klidně může jít o nějakou novou fičuru nových verzí Windows (třeba někde v konverzi datumu na text přibyla mezera nebo podobná vychytávka).
Takto vypadá kód tlačítka, neříkám, že je to stoprocentně programátorsky, ale fungovalo bezchybně...
Kdyby to nefungovalo vůbec, pochopím nějakou fičuru, ale dva dokumenty to uloží a třetí hodí chybu?
Třeba se ten příkaz FORMAT pro některá data chová divně. U MS bych se ničemu nedivil...
... nebo si to plné jéno vypiš v msgboxu.
Tak řekl bych, že je chyba někde v samotném Excelu, nebo spíš v jeho spojení s Microsoft Office Upload centrem, případně se sdíleným úložištěm Onedrive. Pokud chci uložit jakýkoliv dokument v Excelu jako PDF, vyhodí též chybu, že dokument nemůže uložit, zase - někdy uloží, někdy ne, ale hlavně že je všechno "zálohované", blil bych na to
Aha, takže ty používáš Microsoftí OneDrive? A jsi k němu stále připojený a máš nastavenou synchronizaci?
Pak si dokážu představit, že to může zlobit (Excel vytvoří soubor PDF -> synchronizátor jej okamžitě začne očuchávat -> zápis Excelu do tohoto souboru selže, protože si jej ten synchronizátor asi zamčel nebo něco takovýho). To by vysvětlovalo, že to někdy projde a někdy ne - záleží asi na tom, jak rychlý je ten synchronizátor a zda se Excelu podaří zapsat vše, než to ten synchronizátor zpozoruje ...
No...já...já nic
Na ty synchronizace se mrknu, jestli se k něčemu dopracuji, tak dám vědět, zatím díky všem.