Excel 2007 a VS 2008 - vytvoření a editace   zodpovězená otázka

VB.NET

Dobrý den, prosím o pomoc s vytvořením a editací tabulky v excelu.

Dříve mi vše fungovalo ale od doby co mam nové VS 2008 a Excell 2007 (na pc mám jen excel, ne celé office). Co delám špatně, když jako příkald použiji kód, který je zde již jednou zmíněn.

přidat referenci na excel do projektu:

Project -> Add Reference -> COM -> Microsoft Excel xx.x Object Library -> OK

Imports Microsoft.Office.Interop

Public Class Form1
   Private Sub Form1_Load(ByVal sender As System.Object, _
     ByVal e As System.EventArgs) Handles MyBase.Load
     Dim MojeExcelAplikace As Excel.Application = _
        CType(CreateObject("excel.application"), Excel.Application)
     MojeExcelAplikace.Workbooks.Open(Filename:="C:\sešit1.xls")
     ' Načtení obsahu buňky A1 na listu List1
     Dim ObsahA1 As String = _
       MojeExcelAplikace.Workbooks("sešit1.xls").Worksheets("List1").range("A1").value()
     ' Zápis do C5 na listu List5
     MojeExcelAplikace.Workbooks("sešit1.xls").Worksheets("List5").range("C5").value() = ObsahA1
     ' Uložení změn:
     MojeExcelAplikace.Workbooks("sešit1.xls").Save()
     ' Ukončení:
     MojeExcelAplikace.Workbooks.Close()
     MojeExcelAplikace.Quit()
     End
   End Sub
 End Class
 

Excel.Application - není rozpoznáno

Dělám někde chybu, nebo je problém v nových verzích?

Díky Bouda

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

Myslím že naprosto zbytečně používáte metodu CreateObject, když objekt Excel.Application můžete použít přímo (COM Interop automaticky vytvoří wrapper se zachováním objektového modelu). Zkuste použít:

Dim MojeExcelAplikace As New Excel.Application

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

Děkuji za opravu.

Problém nevidím v samotném kódu.

Problém je, že na PC s Visual studiem 2005 a MS office 2003 vše funguje.

Pokud stejný kód napíšu ve Visual studiu 2008 a MS Excel 2007, tak se nikam nedostanu. Nevyjímaje nové přípony *.xlsx

Jdu to dál zkoušet. Pokud by někdo věděl v čem může být problém, byl bych moc vděčen za radu. (Může to být i maličkost, kterou jsem na novém PC přehlédl).

Předem děkuji za rady :)

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

Dobrý den, není potřeba přidat referenci (COM) pro novou verzi excelu? Aby jste se neodkazoval na něco, co v PC nemáte nainstalováno nebo co nové office nepodporují. Ale možná že to je hloupost:)

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

Přidal jsem

Microsoft Excel 12.0 Object library

ale pořád mi nic nefunguje.

Dále bych se chtěl zeptat jestli nemůže být problém v samotném formátu *.xlsx Mohu pokračovat stále stejně, jen místo *.xls používat *.xlsx?

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

Možná to teď vypadá, že si VB jen neporadí s příponou *.XLSX - problém bude asi tady.

MojeExcelAplikace.workbooks.open(Filename:"C:\1.xlsx")

Zde to hází chybu "Člen nebyl nalezen"

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

A musíte nutně využívat nový formát xlsx? V excel 2007 si můžete nastavit režim kompatibility, takže se sešity budou ukládat standartně v xls. Možná by to tento problém vyřešilo.

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

Nevím čít to může být, ale dneska mi na virtuálu vše funguje jak má. Možná pomohl restart, nebo nevím čím to mohlo být. Moc děkuji za rady a podle mě se za chvíl začnu ptát na další maličkosti.

Ještě vyzkouším jak je to s těmi Xlsx

Díky :)

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

Protože vám za dvojtečkou chybí rovná se.

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