Salve qualcuno sa dirmi come aprire un file excel e leggere campi e record in esso contenuti?per poi scriverli in un file txt(questo lo sa fare)GRAZIE
Salve qualcuno sa dirmi come aprire un file excel e leggere campi e record in esso contenuti?per poi scriverli in un file txt(questo lo sa fare)GRAZIE
Non si finisce mai di imparare...
Hai già provato a fare una ricerca sul forum?
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
si ci ho già provato ma non ho trovato nulla
Non si finisce mai di imparare...
Nessuno saprebbe aiutarmi ne ho davvero bisogno GRAZIE
Non si finisce mai di imparare...
allora dovresti usare le librerie di Excel tra le references
la 10.0 se usi office XP
poi all'interno del codice ti dichiari :
Dim appExcel As Excel.Application
Dim worExcel As Excel.Workbook
e poi
Set appExcel = New Excel.Application
Set worExcel = appExcel.Workbooks.Open("PathMioFile")
poi per accedere alle varie celle basta .....
miaVariabile = worExcel.Sheets(1).Cells(1, 1)
e via dicendo.....
dimmi se ti va bene oppure hai bisogno di altro????'
Ciao max
Ci sono solo 10 tipi di persone al mondo, chi conosce il binario e chi no.
Disapprovo quello che dici, ma difenderò fino alla morte il tuo diritto a dirlo.
Tanta bella giovinezza che si fugge tuttavia, chi vuol essere lieto sia, del doman non v'e' certezza.
Puoi provare :
Ciaocodice:Dim RSXls As New ADODB.Recordset Dim cn As ADODB.Connection Set cn = New ADODB.Connection PercorsoNome = "C:\mioxls.xls" With cn .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = "Data Source=" & PercorsoNome & ";" & _ "Extended Properties=Excel 8.0;" .Open End With RSXls.Open "SELECT * FROM [Foglio1$]", cn, adOpenStatic Do Until RSXls.EOF 'qui istruzioni per leggere campi da RSXls(0) a ... RsXls(n) '... RSXls.MoveNext Loop RSXls.Close cn.Close
GRAZIE MILLE MAX, ma ho un problema come devo fare per scorrere tutte le celle avevo pensato di fare un ciclo for o va meglio un doWhile not EOF????? grazie
Non si finisce mai di imparare...
allora per fermarti di solito io uso un ciclo
i = 1
DO WHILE trim(worExcel.Sheets(1).Cells(i, 1)) <> ""
[code]
i = i + 1
LOOP
ma se gia conosci a priori quante celle sono piene....
allora puoi utilizzare il FOR.......
ciaooooooooooooo
![]()
![]()
Ci sono solo 10 tipi di persone al mondo, chi conosce il binario e chi no.
Disapprovo quello che dici, ma difenderò fino alla morte il tuo diritto a dirlo.
Tanta bella giovinezza che si fugge tuttavia, chi vuol essere lieto sia, del doman non v'e' certezza.
Mi sembra una buona idea ma non funziona mi da un errore di runtime 1004 ="Errore definito dall'applicazione o dall'oggetto" come lo risolvo???
Non si finisce mai di imparare...
HO RISOLTO L'ERRORE AVEVO OMESSO UN PASSAGGIO CHIEDO SCUSA, MAX PERO' IO DEVO STAMPARE TUTTO QUELLO CHE C'è NEL WORKSHEET, COSì SCORRO SULLE RIGHE MA DEVO SCORRERE ANCHE SULLE COLONNE ,TENENDO FEDE OVVIAMENTE ALLA "FORMATTAZIONE" CHE C'è NEL FILE EXCEL, CREANDO ALLA FINE UN FILE DI TESTO IDENTICO A QUELLO DI EXCEL SEPARANDO I I RECORD CON UN "|".
Public Sub LeggiDaExcel()
Dim AppExcel As Excel.Application
Dim worExcel As Excel.Workbook
Dim PathName As String
Dim i As Long
Dim j As Long
Dim z As Integer
z = FreeFile
PathName = "C:\Documents and Settings\g.russo\Desktop\CIAFFONI.xls"
Set AppExcel = New Excel.Application
Set worExcel = AppExcel.Workbooks.Open(PathName)
Open "C:\Documents and Settings\g.russo\Desktop\FileProva.txt" For Output Access Write As #z
i = 1
Do While Trim(worExcel.Sheets(1).Cells(i, 1)) <> ""
strPrint = worExcel.Sheets(1).Cells(i, 1) & "|"
i = i + 1
Write #z, strPrint
Loop
Set AppExcel = Nothing
Set worExcel = Nothing
End Sub
Non si finisce mai di imparare...