PDA

View Full Version : [vbs] leggere file excel senza office


samu76
03-06-2008, 19:15
salve,

avrei bisogno di leggere, ed estrarre dati, da un file excel tramite un semplice script scritto in vb

sul computer di "test" funziona tutto correttamente, ma ho installato office...

su un computer in cui non è presente office (solo xp sp2/sp3) non funziona...

come posso fare a far funzionare questo script anche su altri computer senza dover installare office? (tra l'altro non necessario su tali macchine per non parlare della mancanza di licenze)

grazie


inserisco parte del codice da me usato:



Set oXL = WScript.CreateObject("EXCEL.application") '<<--- Da errore a questo punto


oXL.Visible = False



oXL.workbooks.open TextXL 'variabile che contiene percorso del file xls



oXL.ActiveSheet.range("A2").Activate



Do While oXL.activecell.Value <> ""
add_firstname=oXL.activecell.offset(0, 0).Value
Loop

samu76
03-06-2008, 20:08
ho trovato in rete


On Error Resume Next

Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adCmdText = &H0001

Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")

objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Scripts\Test.xls;" & _
"Extended Properties=""Excel 8.0;HDR=Yes;"";"

objRecordset.Open "Select * FROM [Sheet1$]", _
objConnection, adOpenStatic, adLockOptimistic, adCmdText

Do Until objRecordset.EOF
Wscript.Echo objRecordset.Fields.Item("Name"), _
objRecordset.Fields.Item("Number")
objRecordset.MoveNext
Loop



ma senza usare le ADO (anzi, poi dovrei installare mdac 2.8 sui pc senza office?), non si può connettersi ad excel in sola lettura?

MarcoGG
04-06-2008, 08:50
ma senza usare le ADO (anzi, poi dovrei installare mdac 2.8 sui pc senza office?), non si può connettersi ad excel in sola lettura?


Beh, quello è un modo valido.
Non devi affatto star lì ad installare MDAC su ogni client che eseguirà il programma... Data la semplicità della cosa, anche ADO 2.1 dovrebbe andare benone ( le differenze tra le varie versioni di ADO si sentono su cose più "avanzate" di questa ).
MDAC è già presente su ogni versione valida di Win ( perciò da 2000 in su vai tranquillo - spero tu non abbia un parco macchine WinME ! :D ).
In ogni caso qui trovi un tool per testarne l'esistenza e la versione :

http://support.microsoft.com/kb/301202/it

;)

samu76
04-06-2008, 16:44
risolto con ado... alla fine non ho dovuto stravolgere lo script più di tanto....
non è servito installare nemmeno mdac... per fortuna (meno roba si installa meglio è :) )

no, nessun parco win ME... solo win 98 :D a parte gli scherzi, cominciano a sparire win 98 ed ME, per fortuna, almeno quando si parla di reti di computer