Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

EXCEL 2010 - Microsoft Excel přestal pracovat
Jdi na stránku 1, 2  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Software
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Brozicek



Založen: Nov 07, 2005
Příspěvky: 1520
Bydliště: Studénka

PříspěvekZaslal: so červenec 13 2013, 9:09    Předmět: EXCEL 2010 - Microsoft Excel přestal pracovat Citovat

Mám problém s uložením souboru v EXCEL 2010 pod W8 a potřeboval bych nějakou radu co s tím.

Již řadu let používáme poměrně složitou transformaci založenou na Visual Basic, která z textového souboru chybových dat, stažených z řídícího systému zařízení, vytvoří přehlednou tabulku v EXCEL, kde se dají data dále snadno analyzovat.
Transformace byla vytvořena v EXCEL 2003. Později byla upravena tak, aby běžela ve stejné aplikaci v EXCEL 2003 i EXCEL 2007. Prakticky je využívána jen pod Windows XP. Nyní upravuji aplikaci tak, aby pracovala také v EXCEL 2010 v prostředí W8.
Po proběhnutí celého procesu transformace v soustavě Maker ve Visual Basic je v závěru jednoduchá instrukce pro uložení výstupního souboru

'Poslední uložení souboru
ActiveWorkbook.Save

V EXCEL 2010 pod W8 se v průběhu ukládání často náhle zobrazí hlášení "Microsoft Excel přestal pracovat", pak zpráva o "hledání řešení problému" a nakonec "restartování EXCEL" s nabídkou uložení obnoveného výstupního excelovského souboru v požadovaném názvu i původního transformačního excelovského souboru.
Výstupní soubor přitom již najdu řádně uložen bez koncovky xls pod nějakým jménem např. "B6E22000" nebo třeba "A1D42000". Pokud názvu doplním příponu xls, je to ten požadovaný ukládaný výstupní soubor. Jen je uložen pod nějakým vnitřním kódem Windows a bez koncovky.

Záhadou je, že k tomu přerušení ukládání dojde jen občas, obvykle několikrát po prvním otevření a spuštění transformace, a pak již běží ukládání a celá transformace normálně. Pokud výstupní soubor otevřu a ukládám ručně, vše běží vždy normálně. Tak předpokládám, že je to nějaký problém při ukládání pomoci té instrukce ve VB.

V EXCEL 2003 a 2007 k tomu nikdy dosud nedošlo.

Potřebuji nakopnout, kde by mohla být příčina tohoto jevu. Už si s tím dost dlouho hraji a již mne nic jiného nenapadá než, než požádat o radu, abych nebyl zaslepen, a nebloudil kolem jednoho místa.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
SDZ



Založen: Mar 11, 2011
Příspěvky: 420

PříspěvekZaslal: so červenec 13 2013, 11:45    Předmět: Citovat

Zkusil bych kouknout na oprávnění adresáře,kam se ukládá.Jako další bych zkusil spouštět EXCEL 2010 s admin právy.Kouknul bych i na nastavení samotnáho EXCELu.Když by nepomohlo,odinstaloval bych EXCEL,vymazal zbytky a znovu nainstaloval.Pokud by nepomohlo ani to,zkusil bych nějaký free nástroj (třeba open office).

Kdybych tohle řešil já,napsal bych si program,který by z toho *.txt souboru vytvořil *.xls,případně pokud to není třeba později editovat,ukládal bych to do *.pdf případně jiného formátu souboru.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
serviceman



Založen: Jul 09, 2013
Příspěvky: 4043

PříspěvekZaslal: so červenec 13 2013, 11:46    Předmět: Citovat

Což spouštět excel v kompatibilním režimu?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Brozicek



Založen: Nov 07, 2005
Příspěvky: 1520
Bydliště: Studénka

PříspěvekZaslal: so červenec 13 2013, 12:46    Předmět: Citovat

Pracuji v kompatibilním režimu, protože potřebuji, aby stejná aplikace běžela také pod EXCEL 2003 a 2007. Když tutéž aplikace spustím přes XP v EXCEL 2003 nebo 2007, projde vždy naprosto bezchybně.

Záhadou mi zůstává, proč k tomu přerušení práce Excel 2010 při ukládání dojde jen občas a jen při závěrečném uložení těsně před ukončením transformace. Zhruba bych řekl, že z 10 spuštění transformace to závěrečné uložení 6x to projde bezchybně a 4x se Excel u toho zastaví. Zatím se mi nepodařilo najít nějakou souvislost mezi normálními průchody nebo naopak průchody se zastavením Excel. Zdá se, že to po prvním spuštění transformace končí několikrát chybně, a pak se to nějak chytí, ale není to pravidlo. Takový projev Excelu se objevuje jen u této aplikace. Při běžném a častém používání Excelu a ručním ukládání se mi to nikdy nestane. Takže mne nenapadá žádná souvislost s instalací Excel a jeho případnou přeinstalaci nebo jeho nastavením.

Ta transformace není jednoduchý převod txt souboru do xls. Podle vnitřních algoritmů, naprogramovaných ve Visual basic, se přiřazují zkratkám poruchových kódů plné texty, vypočítává se statistika četnosti výskytu poruch a stavů a statistiky se převádějí navíc do přehledných grafů. Zakódované údaje různých fyzikálních hodnot v TXT souboru se přes vzorce převádějí do reálných jednotek, atd. atd.

Výsledek nemůže být v PDF, protože výstupní EXCEL soubor má přednastaven automatický filtr s možnosti třídění a výběru dat podle jednotlivých datových sloupců. To je potřebný silný nástroj pro analýzu dat, kvůli kterému byla transformace vytvořena.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
SDZ



Založen: Mar 11, 2011
Příspěvky: 420

PříspěvekZaslal: so červenec 13 2013, 13:37    Předmět: Citovat

Brozicek napsal(a):


Ta transformace není jednoduchý převod txt ......

V tom případě je jedná o zcela jednoduchý progámek.Je potřeba pouze vědět jak má fungovat , trocha znalosti programováni a čas.

Nejjednodušší vidím používat pouze pro převod EXCEL pod WinXP.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Brozicek



Založen: Nov 07, 2005
Příspěvky: 1520
Bydliště: Studénka

PříspěvekZaslal: so červenec 13 2013, 16:03    Předmět: Citovat

V dotaze nejde o funkci transformace, ale proč je v EXCEL 2010 nespolehlivá jednoduchá operace uložení souboru.

Program Excel a uspořádaný soubor Maker ve Visual Basic byl pro transformaci zvolen z toho důvodu, že pro většinu servisních techniků jako potencionálních uživatelů této transformace je Excel legálně k dispozici v jejich firemních počítačích nebo NTB.
V době vzniku transformace měla většina počítačů jen Excel 2003 a XP. Nyní je škála SW různorodá od Excel 2003 a XP ač po Excel 2010 nebo 2013 a W8. Proto je snaha vytvořit a mít transformaci, která v jediné verzi funguje na všech dostupných platformách Ecxel a Windows.

Zdá se, že se rozdíly mezi "ročníky" Excel daří úspěšně řešit. Jen zatím marně bojuji s tím, proč se nedaří v Excel 2010 spolehlivé vyřešit to uložení výsledného souboru jako xls souboru, tj. ve formátu 2003/2007.

Nejde ta jednoduchá instrukce pro uložení souboru napsat nějak jinak, aby si s ní EXCEL 2010 spolehlivě poradil a nedělal psí kusy ve formě hlášky "Excel přestal pracovat"?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Brozicek



Založen: Nov 07, 2005
Příspěvky: 1520
Bydliště: Studénka

PříspěvekZaslal: so červenec 13 2013, 17:24    Předmět: Citovat

SDZ napsal(a):
...V tom případě je jedná o zcela jednoduchý progámek.Je potřeba pouze vědět jak má fungovat , trocha znalosti programováni a čas.....

Myslím, že zcela jednoduchý prográmek by to nebyl. S ostatním souhlasím, že to chce znát požadované funkce, umět programovat a mít na to čas. Výstupní soubor xls po transformaci má 7 listů, z toho jeden s uspořádanými vstupními daty, jeden list se statistikou, 3 listy grafů ze statistiky a dva listy s technickými informacemi pro technika. Takže ukládaný xls soubor je dost obsáhlý a má podle množství dat kolem 950kB délku. Navíc se vygenerují automaticky Makra a jejich ovládací tlačítka pro usnadnění práce s výstupním souborem. Příklady vstupních dat a výstupních listů jsou jako obrázky GIF v příloze. Možná mohou být tyto příklady inspirací pro nalezení důvodu nespolehlivého ukládání souboru.

Jinak, jak jsem napsal, nejde o vlastní funkce a algoritmy, ale jen o jedinou sekvenci ve VB spočívající uložení výstupního souboru, která děla problémy.



Vstupní TXT soubor_vzor.gif
 Komentář:

Stáhnout
 Soubor:  Vstupní TXT soubor_vzor.gif
 Velikost:  23.29 kB
 Staženo:  121 krát


Výstupní TXT soubor-vzor.gif
 Komentář:

Stáhnout
 Soubor:  Výstupní TXT soubor-vzor.gif
 Velikost:  94.42 kB
 Staženo:  130 krát


Statistika_vzor.gif
 Komentář:

Stáhnout
 Soubor:  Statistika_vzor.gif
 Velikost:  52.23 kB
 Staženo:  113 krát


Graf četnosti poruch_vzor.gif
 Komentář:

Stáhnout
 Soubor:  Graf četnosti poruch_vzor.gif
 Velikost:  189.42 kB
 Staženo:  135 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
SDZ



Založen: Mar 11, 2011
Příspěvky: 420

PříspěvekZaslal: so červenec 13 2013, 19:14    Předmět: Citovat

Hláška typu 'Excel přestal pracovat' předpokládám ,že může nastat i při ukládání dat s časově náročným výpočtem ,jinak při zacyklení. VB nedělám.
Zkusil bych do kódu něco jako Application.processmessages.
Vzhledem k tomu že to pod XP funguje,prošel bych celý zdrojový kód programu a zkontroloval kompatibilitu s W8.

Jinak k funkčnosti programu -na první pohled je čten zdrojový soubor po řádcích.Každý řádek se parsuje.Texty chyb jsou jako konstanty.Nepřipadá mi to nijak složitý,ale práci by to určitě dalo.Pro export do XLS jsou u vyšších programovacích jazyků knihovny ,které značně zjednodušší převod dat do XLS.

Ještě mě napadlo jestli by nefungovala pod W8 movější verze EXCELu,ale záleží na kompatibilitě maker.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Brozicek



Založen: Nov 07, 2005
Příspěvky: 1520
Bydliště: Studénka

PříspěvekZaslal: so červenec 13 2013, 21:56    Předmět: Citovat

Zkusil jsem po restartu PC ihned po otevření transformačního Excelu před instrukci pro uložení souboru vložit pauzu 6 sec pomoci sekvence, kterou jsem opsal na nějakém fóru o excel (pro tuto zkoušku jsem také textové poznámky zkopíroval bez úpravy, proto jsou CZ/Anglicky):

'pausa 6 sec na uložení souboru aby se nezastavil Excel 2010 pod W8

Dim PauseTime2, Start2, Finish2, TotalTime2
PauseTime2 = 6 ' Čas pauzy.
Start2 = Timer ' Spuštění časovače.
Do While Timer < Start2 + PauseTime2
DoEvents ' Yield to other processes.
Loop
Finish2 = Timer ' Zastavení časovače.
TotalTime2 = Finish2 - Start2 ' Calculate total time.


'Poslední uložení souboru
ActiveWorkbook.Save

Dvakrát proběhla transformace úspěšně i s uložením, už jsem se chtěl radovat. Potřetí opět hláška "Excel přestal pracovat" Sad . To je fakt záhada proč to dělá, a co s tím.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Brozicek



Založen: Nov 07, 2005
Příspěvky: 1520
Bydliště: Studénka

PříspěvekZaslal: ne červenec 14 2013, 11:13    Předmět: Citovat

Podle toho, co se píše na tomto odkazu

http://support.microsoft.com/kb/832121/cs

by problém mohla způsobovat systémová chyba Microsoftu.

Nemám však odvahu a dost zkušenosti to nějak opravovat. Navíc postup je pro office 2007.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Brozicek



Založen: Nov 07, 2005
Příspěvky: 1520
Bydliště: Studénka

PříspěvekZaslal: ne červenec 14 2013, 19:08    Předmět: Citovat

Dočasně jsem to vyřešil tak, že jsem ten příkaz pro uložení souboru vymazal z makra, takže po transformaci je výstupní soubor otevřený, ale neuložený. Uživatel jej může uložit ručně, to funguje bez problému a Excel pak funguje korektně.. Pokud by na to zapomněl, Excel ho upozorní, že není uložený. Pokud by jej uživatel zavřel bez uložení a tím vymazal, má možnost si provést transformaci opakovaně ze vstupního TXT souboru.
Takhle se s tím dá fungovat shodnou aplikaci pod Excel 2003, 2007 i 2010. Nikdo není dokonalý, ani Microsoft.
Pokud později někoho napadne lepší řešení problému, rád je přijmu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
petrfilipi



Založen: Sep 13, 2005
Příspěvky: 2664

PříspěvekZaslal: út červenec 16 2013, 18:29    Předmět: Citovat

Já jsem se učil VBA tak, že jsem si spustil záznam makra a pak jsem se podíval, jak to chlapci z Redmondu přeložilo do kódu.
Takže moje rada - zapněte si před finálním ručním uložením souboru záznam makra, soubor uložte, vypněte záznam, mrkněte do makra a to co tam vidíte zkuste zkopírovat do původního makra.

To by v tom byl čert, aby to nechodilo. Jinak bych ještě zkusil ukládat buď jako *.xls, nebo *.xlsx.

Petr Filipi
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Brozicek



Založen: Nov 07, 2005
Příspěvky: 1520
Bydliště: Studénka

PříspěvekZaslal: út červenec 16 2013, 19:09    Předmět: Citovat

To Petr Filipi tohle vše už jsem zkusil. Instrukce pro uložení je přesně stejná jak pro ruční uložení napíše záznam Makra. Také jsem se hodně sekvencí ve VB naučil ze záznamu Makra. Zkusil jsem automatické uložení udělat jako samostatné Makro. Zkoušel jsem jiné psí kusy. Nic nepomáhá, v EXCEL 2003 nebo 2007 se záznam vždy uloží spolehlivě. EXCEL 2010 nahodile při ukládání ukončí činnost.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
petrfilipi



Založen: Sep 13, 2005
Příspěvky: 2664

PříspěvekZaslal: st červenec 17 2013, 7:21    Předmět: Citovat

A dělá to to samé i na jiném PC nebo na stejném PC v jiném uživatelském profilu?
Co kdybyste vygeneroval podobné množství dat nějakou náhodnou funkcí a zkusil je uložit?
Ukládáte to v 2003, 2007 i ve 2010 pořád ve stejném formátu (*.xls), nebo to třeba v 2010 ukládáte jako *.xlsx?
Když to ukládá, podívejte se na využítí paměti ve správci úloh. Jednou jsem se dostal s mým makrem na neuvěřitelný 1GB zabrané RAM. Běží i po pádu Excelu proces Excel.exe?

Já mám taky v NB Office 2010 a nikdy se mi nepodařilo ho dlouhodobě při ukládání odstavit. Stane se mi třeba při zpracovávání 80.000 řádků, že mi to přestane do buňky A6 vypisovat číslo záznamu, který se právě zpracovává (taky náhodně, někdy to skončí u 10.513, jindy u 18.423 - ale to mi neva, mám to tam jako jakousi kontrolu běhu programu a dokonce tam mám i příkaz na update obsahu buňky), ale po čase se makro dokončí, obsah buňky A6 se zaktualizuje a je hotovo.

Petr Filipi
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Brozicek



Založen: Nov 07, 2005
Příspěvky: 1520
Bydliště: Studénka

PříspěvekZaslal: st červenec 17 2013, 18:52    Předmět: Citovat

Již jsem výše uvedl, že chci, aby transformační program pracoval v jedné verzi pro EXCEL 2003, 2007 i 2010. Proto používám jen koncovku XLS a v EXCEL 2010 program běží v kompatibilním režimu.
Také jsem uvedl, že po hlášce "EXCEL přestal pracovat" se Excel restartuje a nabídne uložení výstupního souboru pod názvem, které vygeneruje jedno z maker. Celá transformace probíhá tak, že se spustí základní makro transformačního programu, které načte vstupní TXT soubor na nový list. Pak probíhá sekvence mnoha maker jako podprogramu hlavního makra, která provede celou transformaci, takže vstupní EXCEL se stane sám výstupem transformace.
Po zastavení EXCEL je však již výstupní soubor uložen pod nějakým vnitřním názvem Microsoftu.
Je mi naprosto nepochopitelné, že stejný transformační EXCEL a stejná vstupní data někdy projdou bez zastavení při ukládaní, a vzápětí se tento úkaz projeví.
Transformace v EXCEL 2003 a 2007 probíhá bez problémů na desítkách PC u techniků, kteří transformaci používají. Pod EXCEL 2010 na W8 to zkouším zatím jen u sebe na svém PC. V řadě funkcí, jako např. čísla generovaných tlačítek maker, se liší mezi Excely, a proto je nutno naprogramovat výhybky v chodu programu, aby VB nehlásil chybu. To zastavení však není chyba VB, ale je to něco co zatím neumím vysvětlit.
Na to využití paměti při ukládání se podívám až příští týden. Jsem na chatě a zde mám k dispozici jen EXCEL 2003 a XP. Také mám zde omezený pčístup na internet přes mobil.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Software Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.18 sekund