|
Login
  • Page:
  • 1

TOPIC: Apri Excel da vba

Apri Excel da vba 5 years 4 days ago #10026

  • mojito
  • mojito's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 16
  • Karma: -1
Vorrei capire il perché se utilizzo Excel 2010 Per leggere foglio Excel
Utilizzando questa driver:
cnA.Open "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & NOME_FILE & ";"

Funziona.
Se utilizzo Excel 2003 Mida questo errore :

errore Nome origine dati non trovata
Come posso risolvere il problema?
Che driver devo usare ?
The administrator has disabled public write access.

Apri Excel da vba 5 years 3 days ago #10027

  • cromagno
  • cromagno's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 13
  • Thank you received: 3
  • Karma: 1
Partiamo dal fatto che excel 2003 non può aprire file con estensione *.xlsx, *.xlsm, *.xlsb etc....
Inoltre ogni versione ha un suo driver standard, quello del 2003 (che dovrebbe andare bene anche per le versioni precedenti) dovrebbe essere questo:

Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=C:\MyExcel.xls;
DefaultDir=c:\mypath;


Per maggiori info:
www.connectionstrings.com/microsoft-excel-odbc-driver/
Last Edit: 5 years 3 days ago by cromagno.
The administrator has disabled public write access.

Apri Excel da vba 5 years 12 hours ago #10031

  • mojito
  • mojito's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 16
  • Karma: -1
Ho queste connessione Excel
[code
1 ]cnA.Open "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & NOME_FILE & ";"

'2 cnA.Open "Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=" & nome_file & ";DefaultDir=c:\;"[/code]

se utilizzo la connessione 1 e Excel è la versione 2007 da errore.
e viceversa se utilizzo la connessione 2 e Excel 2010 da anche errore.
Posso tramite istruzione verificare da vba che versione Excel viene utilizzata??
The administrator has disabled public write access.

Apri Excel da vba 5 years 12 hours ago #10032

  • cromagno
  • cromagno's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 13
  • Thank you received: 3
  • Karma: 1
Puoi controllare la versione con:
Application.Version
alla versione 10 corrisponde Excel 2002
alla 11 il 2003
alla 12 il 2007
alla 14 il 2010
alla 15 il 2013

Quindi nel tuo codice puoi aggiungere la condizione: se Application.Version è maggiore o uguale a 12 utilizzi un driver, altrimenti utilizzi l'altro.
The administrator has disabled public write access.
  • Page:
  • 1
Time to create page: 0.440 seconds