Vai al contenuto
PLC Forum


Accedere Ai File Xls Con Vb6 - modificare i dati


STEU

Messaggi consigliati

Avrei un problema con Visual Basic 6.

Ho delle tabelle fatte con excel , devo accedere ai dati di questi file xls con dei programmi fatti con VB.

Attualmente genero dei file csv direttamente da excel ,il programma di VB accede e manipola i dati csv e li risalva sul file stesso,infine importo con excel i file csv così ho il file xls aggiornato.

Premetto che il programma DEVE essere esterno e non puo' essere una macro di excel.

E' possibile accedere direttamente ai file xls dall'applicazione di VB senza effettuare il passaggio in csv?

Capisco che la domanda puo' sembrare banale per chi ha familiarita' con VB ma io sono solo agli inizi.

Grazie a chiunque possa aiutarmi

Link al commento
Condividi su altri siti


devi usare il data control che è tra gli strumenti predefiniti di visual basic, però non mi ricordo come si configura :wallbash:

sennò c'è ADO Data Control

che lo trovi tra i componenti aggiuntivi di visual studio (progetto->componenti)

mi scuso se non ti sono stato di grande aiuto

ciao

Modificato: da Simons
Link al commento
Condividi su altri siti

Puoi anche accedere direttamente alle celle di un foglio di lavoro...

Ti metto un esempio che avevo provato tempo fa:

- fai una form con 3 pulsanti e una text-box,

- mettti un file di prova in c:\temp\prova.xls

- incolla questo codice

 Option Explicit

Dim XLObj As Object

Private Sub Command1_Click()
' Questo tasto serve per uscire dal programma

' Destroy the object.
Set XLObj = Nothing

' Exit the program.
End
End Sub

Private Sub Command2_Click()
' Questo tasto scrive nel foglio excel
XLObj.Application.Worksheets("Foglio1").Range("A1:B4").Value = 1234
End Sub

Private Sub Command3_Click()
' Questo tasto legge una cella dal foglio excel
Text2.Text = XLObj.Application.Worksheets("Foglio1").Range("A2").Value
End Sub


Private Sub Form_Load()
' Create the Excel sheet object.
Set XLObj = CreateObject("Excel.Sheet")
XLObj.Application.Workbooks.Open "c:\temp\prova.xls"

End Sub


Link al commento
Condividi su altri siti

Jumpman , grazie molto il programmino che mi hai inviato funziona perfettamente e mi ha fatto capire alcune cose , in quanto riesco a scrivere e leggere le celle dal mio form in VB.

Il problema è che una volta che chiudo il form e vado a leggere il file xls con excel , vedo che tutte le celle sono vuote.

A me interesserebbe , se fosse possibile, accedere ai dati scritti nelle caselle con excel una volta che il programme VB è terminato.E' possibile?

Link al commento
Condividi su altri siti

Di nuovo grazie jump men

ho aggiunto una riga alla rutine di uscita che salva il file xls.

Private Sub Command1_Click()
' Questo tasto serve per uscire dal programma

'Serve per salvare il file riga aggiunta da me
XLObj.Application.save
' Destroy the object.
Set XLObj = Nothing

' Exit the program.
End
End Sub

Ora la mia domanda è:

E' giusto come ho fatto?

Grazie a chi mi puo' aiutare

Link al commento
Condividi su altri siti

Private Sub Command1_Click()
XLObj.Application.ActiveWorkbook.save
' Destroy the object.
Set XLObj = Nothing
' Exit the program.
End
End Sub 

Con il codice del post precedente mi creava un file chiamato riprendimi.xlw

con quello scritto in questo (la differenza è nella seconda riga) non mi genera piu' questo file.

Qualcuno saprebbe darmi una spiegazione?

Credo che questa soluzione sia piu' esatta, e' così?

Grazie

Link al commento
Condividi su altri siti

Ok per informazione tutto funziona bene con un file gia' esistente come nei post precedenti prova.xls.

Ma è possibile generare un file nuovo di excel da VB?

Modificato: da STEU
Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...