Vytvoření instance objektu Excelu   zodpovězená otázka

VB.NET

Zdravím,

jaký význam má použití tohoto kódu:

Dim appExcel As Microsoft.Office.Interop.Excel.Application
appExcel = CType(CreateObject("excel.application"), Microsoft.Office.Interop.Excel.Application)

místo tohoto kódu:

Dim appExcel As Excel.Application=New Microsoft.Office.Interop.Excel.Application()

Nebo jaký je v tom rozdíl? Děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Funkce CreateObject je určena k vytvoření instance COM objektu bez použití COM Interop knihovny. Pokud přidáte referenci na COM objekt přímo ve Visual Studiu, automaticky se vytvoří COM Interop knihovna a lze potom jednoduše pracovat s konkrétními typy.

Takže první kus kódu je nesmysl, protože máte-li k dispozici COM Interop knihovnu, není potřeba vytvářet instanci pomocí CreateObject, ale jen pomocí klíčového slova New.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji, první kus kódu jsem opsal a doplnil z tohoto příspěvku:

http://www.vbnet.cz/forum-tema--344-nact...

'Deklarace a vytvoření objektu excelu:
Dim appExcel As Excel.Application
appExcel = CType(CreateObject("excel.application"), Excel.Application)

Tím, že tam je v References "Microsoft Excel xx.x Object Library", tak je to stejné jako můj kód, ne? Čili v tom příspěvku je to taky nesmysl nebo proč teda používá autor CreateObject?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

V tom příspěvku je to samozřejmě taky blbost.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

No a jak je to tedy správně, zrovna ten problém řeším taky...?

Potřebuji udělat instanci Excelu abych nemusel řešit různé verze.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dim ExcelAPP As Object

ExcelAPP = CreateObject("Excel.Application")

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback