Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Honza
Člen
Avatar
Honza:13.8.2014 12:14

Ahoj, mám problém se spouštěním exe souboru přes plánovač úloh. Problém působí Excel se kterým v aplikaci pak dále pracuji.

Pokud spustím exe ručně, vše je ok. Pokud ho spustím přes plánovač úloh, aplikace začne padat na řádku kde se snažím excel otevřít (ExcelApplica­tion.Workbook­s.Open).

Přitom úlohu v plánovači úloh spouštím pod svým účtem a s nejvyšším oprávněním. Tento problém jsem zaznamenal až při přechodu na 64 bit windows.

Mám:

  • Win 7 64 bit
  • Aplikace je zkompilovaná jako x86
  • Office jsou x86
  • Reference na office: Microsoft.Offi­ce.Interop.Ex­cel

Nesetkal jste se někdo s podobným problémem

Děkuji

Odpovědět
13.8.2014 12:14
Snadnou cestou se daleko nedostanete, je tam velká tlačenice...
Avatar
Odpovídá na Honza
Michal Žůrek - misaz:13.8.2014 12:19

s problémem jsem se nesetkal, co to háže za vyjímku?

 
Nahoru Odpovědět
13.8.2014 12:19
Avatar
Honza
Člen
Avatar
Odpovídá na Michal Žůrek - misaz
Honza:13.8.2014 12:59

Dostávám tuto vyjímku:

Aplikace Microsoft Excel nemůže získat přístup k souboru <cesta k souboru>\Templa­te.xlt. Možné příčiny jsou následující:

• Název souboru nebo cesta neexistuje.
• Soubor je používán v jiném programu.
• Sešit, který chcete uložit, má stejný název jako aktuálně otevřený sešit.

Tento popis chyby je ale zvláštní, cesta existuje a soubor není otevřený ani používaný. Když exe spustím ručně tak to funguje.

Nahoru Odpovědět
13.8.2014 12:59
Snadnou cestou se daleko nedostanete, je tam velká tlačenice...
Avatar
Odpovídá na Honza
Luboš Běhounek Satik:13.8.2014 13:13

Cestu k tomu souboru zadáváš relativně?
Pokud ano, tak to by mohl být ten problém - nech si vypsat celou cestu, kam opravdu šaháš - přes Path.GetFullPath().
Problém by mohlo být to, že při spouštění přes plánovač je třeba jiný pracovní adresář.

Editováno 13.8.2014 13:16
Nahoru Odpovědět
13.8.2014 13:13
https://www.facebook.com/peasantsandcastles/
Avatar
Honza
Člen
Avatar
Odpovídá na Luboš Běhounek Satik
Honza:13.8.2014 15:29

Právě že ne, na tento problém jsem už taky narazil (u plánovače a služeb je cesta jiná), takže je zadaná absolutně. Když se přes Visual Studio přípojím k procesu který spustím přes plánovač a odkrokuju si kód, cesta je správná, ale spadne to na funkci Workbooks.Open

Nahoru Odpovědět
13.8.2014 15:29
Snadnou cestou se daleko nedostanete, je tam velká tlačenice...
Avatar
Odpovídá na Honza
Michal Žůrek - misaz:13.8.2014 15:51

ten otevíraný soubor se jmenuje Template.xlt nebo excel nemůže otevřít svoji stylovou šablonu?

 
Nahoru Odpovědět
13.8.2014 15:51
Avatar
Honza
Člen
Avatar
Honza:13.8.2014 23:09

Template.xlt je název mého souboru

Nahoru Odpovědět
13.8.2014 23:09
Snadnou cestou se daleko nedostanete, je tam velká tlačenice...
Avatar
coells
Tvůrce
Avatar
Odpovídá na Honza
coells:13.8.2014 23:20

Řešení najdeš tady http://blogs.msdn.com/…om-ssis.aspx

Nicméně, ještě zajímavější popis je tady http://stackoverflow.com/…s-excel-file pod Considerations for server-side Automation of Office. V podstatě bys neměl využívat služby Office bez interaktivního desktopu a jakákoliv neočekávaná situace vyústí v zamrznutí vlákna.

 
Nahoru Odpovědět
13.8.2014 23:20
Avatar
Honza
Člen
Avatar
Odpovídá na coells
Honza:14.8.2014 8:52

Díky moc, pomohlo to. Stačilo vytvořit složku desktop na adrese C:\Windows\sys­tem32\config\sys­temprofile\des­ktop

Problém byl v tom, že tato složka byla vytvořena pouze pro 64 bit a Office jsou 32 bit.

Jinak vím že není ideální používat Office takovýmto způsobem. Ve velké aplikaci bych to nepoužil, ale tohle je jen služba kterou jsem si napsal aby mi trochu šetřila práci.

Každopádně děkuju

Nahoru Odpovědět
14.8.2014 8:52
Snadnou cestou se daleko nedostanete, je tam velká tlačenice...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.