Problém v interakci s Excelem ve VS2008   otázka

VB.NET, Office, .NET

Moje aplikace, která ve Visual Studiu 2005 bezproblémově pracovala. Po přechodu na VS 2008 mi studio hlásí následující:

"Type ´Excel.Application´ is not defined"

Mám přidanou referenci Microsoft.Office.Interop.Excel

Naimportován mám jmený protor :

Imports Microsoft.Office.Interop

Používám následující deklaraci a vytvoření objektu:

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

Má někdo řešení jak ve VS2008 opravit tuhle disfunkci?

Za každou radu předem děkuji.

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

Nepoužívejte tuto hrůzu z VB6 (CreateObject), ale přímé vytvoření instance Excelu pomocí wrapperu COM rozhraní.

Dim excel As New Excel.Application

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

Díky za typ na vyřešení problému, ale nepomohlo to.

Po té, co jsem místo CreateObject použil konstruktor New Visual Studio stále hlásí stejnou chybu, a to v opraveném řádku:

Public appExcel As New Excel.Application

Prostě "nezná" typ "Excel.Application".

Je taky možné že je to tím, že nemám potuchy co je to wrapper COM rozhraní :-) a jak ho používat.¨

Díky za trpělivost. Jsem totální samouk.

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

Váš problém je v tom, že na cílovém počítači nemáte nainstalován Excel (nebo jinou aplikaci sady Office, jejíž rozhraní v aplikaci používáte). Wrapper COM rozhraní (Interop.*.dll) je automaticky vytvořená assembly, která zprostředkovává komunikaci mezi unmanaged kódem (COM serverem) a managed kódem (vaší .NET aplikací).

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

Pokud to co napíši není pravda, byla bych ráda, kdyby mne někdo opravil (účelem je si vzájemně pomáhat).

Myslím, že problém je přímo v Microsoftu. Odladíte program, který máte na svém počítači a samozřejmě tam máte nainstalované office. Pro distribuci vyrobíte poctivou instalačku pomocí průvodce. Ta Vám samozřejmě automaticky připojí všechny knihovny, které jste v aplikaci použil. !!! Ovšem s výjimkou právě knihoven office !!!!

Pokud chcete aplikaci používat na počítači, kde není nainstalován Excel a zároveň neporušovat licenční podmínky, stačí, když na tom počítači Excel nainstalujete a hned odinstalujete.

Mně to aspoň takto funguje.

Nemají Microsofti nejakou podobnou obezličku ve vývojovém prostředí?

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

Máte pravdu, ovšem silně pochybuju o tom, že po kompletním odinstalování sady Office bude dále k dispozici (a funkční) ono COM rozhraní.

nahlásit spamnahlásit spam 0 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