Diskuze: Jak zjistit, zda je nainstalovaný Office?
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
já bych od MS VisualBasicForApplication rychle utek někam pryč .... je to nestabilní a padá to
...
Děkuji. Ale hlásí mi to chybu syntaxe, officeType není deklarované, argumenty metody musí být v závrokách, type je typ třídy a nejde použít jako výraz a ještě něco o závorkách. Tak nevím.
no ... jde o to že syntaxe je závislá na verzi Office je to nemilé ale je to tak..
jinak mužeš z VBA zavolat externí aplikaci .exe napsanou třeba v C# a v ní
to detekovat ale
tohle funguje:
Type officeType = Type.GetTypeFromProgID("Excel.Application");
if (officeType == null)
{
//no Excel installed
}
else
{
//Excel installed
}
Aha tak to je nedorozumění. Tohle totiž má být ta externí aplikace, která následně otevře Excel tabulku. Omlouvám se, měl jsem to napsat.
Toto ti nepomůže?
Ak ti ide o to zistiť, či je na počítači nainštalovaný Office (prípadne aj nejaký iný program), prečo sa nepozrieš do registrov?
https://stackoverflow.com/…via-registry
https://docs.microsoft.com/…registry-key
Důvody jsou dva: přečetl jsem si někde, že ta cesta k registru nemusí
být vždy stejná a taky jestli se nepletu bych musel mít administrátorská
práva, nebo to jde bez toho?
Řešení od @hanpari bude asi fungovat. Pak se sem vrátím označit odpověď,
ale pokud existuje lepší řešení, ocením.
Čítať z týchto registrov môžeš určite aj bez administrátorských práv (https://stackoverflow.com/…r-privileges).
Čo sa týka tej cesty, tak nevidím dôvod, prečo by si sa toho mal báť práve pri Office. Základná štruktúra je vždy daná a v normálnom systéme rovnaká (https://docs.microsoft.com/…the-registry) a cesta ku kľúču Office sa tiež IMHO líšiť nebude (neviem si predstaviť, že by to Microsoft len tak menil, ani aké by na to mal dôvody). Nachádza sa pod kľúčom HKEY_LOCAL_MACHINE > SOFTWARE >Microsoft > Office. To je dosť jednoduchá cesta a asi sa medzi strojmi nemá ani ako líšiť. Možno máš ale lepšie informácie ako ja a existujú nejaké corner cases. Pokiaľ ich ale nepotrebuješ podporovať, tak to asi nemá zmysel riešiť.
Ak by si z nejakého dôvodu potreboval aj cestu k executable files, tak ich nájdeš pod Microsoft > Windows > CurrentVersion > App Paths > (názov .exe)
Zobrazeno 9 zpráv z 9.