Jump to content
PLC Forum


Sign in to follow this  
STEU

Accedere Ai File Xls Con Vb6 - modificare i dati

Recommended Posts

STEU

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

Share this post


Link to post
Share on other sites

Simons

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

Edited by Simons

Share this post


Link to post
Share on other sites
JumpMan

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


Share this post


Link to post
Share on other sites
STEU

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?

Share this post


Link to post
Share on other sites
STEU

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

Share this post


Link to post
Share on other sites
STEU

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

Share this post


Link to post
Share on other sites
STEU

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?

Edited by STEU

Share this post


Link to post
Share on other sites
dago_
Ma è possibile generare un file nuovo di excel da VB?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...