Otevřete-li soubor starší verze z novější verze excelu, nezobrazí se náhodou nějaká hláška, že se bude soubor převádět či tak něco ? Přímo z excelu soubor přece otevřete, že? Možná zkuste ještě vypnout excelu hlášky: myExcel.DisplayAlerts= False ... Avšak lze na to jít i trochu jinak a navíc bez nutnosti použití excel aplikace. Vyzobávat data z excelu lze také pomocí OleDb, dobré mít data rozumně seskupena, ale lze číst i buňky dle jejich adresy i pojmenované oblasti. Takhle se připojíte: Dim cn As OleDbConnection
cn = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;" + "data source=C:\book.xls;Extended Properties=Excel 8.0;") Případně koukněte ještě sem ohledně připojení... ConnectionStrings for Excel : http://www.connectionstrings.com/excel http://www.connectionstrings.com/excel-2... Takle např. dostat list do datatable: Dim command As New OleDb.OleDbCommand
command.Connection = cn
command.CommandText = "SELECT * FROM [List1$]"
Dim dt As New DataTable
dt.Load(command.ExecuteReader(CommandBehavior.CloseConnection) Postupně se připojíte na všechny sešity excelu v adresáři, jednotlivé tabulky za každý sešit lze vložit do datasetu, potom data z jednotlivých datatables seskupit či poskládat dle vlastního uvážení, pak nakonec se připojíte k access db a vložíte získaná data do access tabulky insert commandem... Trváte-li na otvírání excel aplikace, omluva za nevyžádaný návrh.
|