View Full Version : [Visual Basic] Interagire con Excel
Dreamer4135
30-10-2007, 16:03
dovrei creare un programma con cui un utente immetta de dati e il programma trasferisca ogni dato in una colonna e riga diversi, per il programma è ok, ma come faccio ad interagire con excel per passargli i dati??
p.s. visual basic 2005 express!
amedeoviscido
30-10-2007, 16:19
Non è mica tanto facile!!! Comunque è perfettamente fattibile.
Vedi se questo codice "base" può esserti utile :D
Io utilizzo Office 2003; se utilizzi un office più vecchio le dichiarazioni sono differenti, purtroppo!!!
Dim XLS As New Microsoft.Office.Interop.Excel.Application
Dim ws As Microsoft.Office.Interop.Excel.Worksheet
Dim wsRiepilogo As Microsoft.Office.Interop.Excel.Worksheet
XLS.Visible = true
XLS.Workbooks.Add()
ws = XLS.Worksheets(1)
ws.Name = "Foglio di prova numero 1"
Adesso "ws" è un riferimento al foglio 1, che si chiamerà "Foglio di prova numero 1"; puoi fare operazioni come queste:
ws.Cells(1,1) = "Prima riga, prima colonna"
ws.cells(1,2) = "Prima riga, seconda colonna"
ws.cells(2,1) = "Seconda riga, prima colonna"
Altre operazioni sono:
ws.ColumnWidth = 15 (mette a 15 la larghezza della colonna)
ws.cells(i,j).NumberFormat = "@" (formato testo)
ws.cells(i,j).NumberFormat = "0,00 €" (formato moneta)
ws.cells(i,j).NumberFormat = "0,00 %" (percentuale)
ecc.
ws.cells(i,j).Font.Bold = true (mette in grassetto)
Poi l'allineamento:
ws.Cells(i,j).HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignRight
(oppure xlHAlignCenter, xlHAlignLeft...)
Spero basti, è molto, molto di più di quello su cui sono partito io!!!
Dreamer4135
30-10-2007, 16:34
grazie, anche io uso il 2003, mi sei stato molto d'aiuto...:)
Dreamer4135
30-10-2007, 17:27
un problema: i dati li mette bene nella tabella, però quando la chiudo (il programma rimane aperto) e provo a ricliccare il bottone che mi manda i dati alla tabella mi apre una tabella excel senza tabella, ovvero vedo solo le caselle degli strumenti ma niente griglia con valori, cosa posso fare??
ecco il codice del bottone
Dim j As Byte
Dim y As Byte
Dim n As Byte
XLS.Visible = True
XLS.Workbooks.Add()
ws = XLS.Worksheets(1)
ws.Name = "prova 1"
For y = 1 To 6
For j = 1 To 10
n = n + 1
ws.Cells(j, y) = a(n)
Next
Next
Dreamer4135
30-10-2007, 20:29
nessuno che mi può dare una mano a risolvere il problema?!
dai su che siete bravi!
amedeoviscido
06-11-2007, 16:45
Dovresti usare XLS.Quit altrimenti Excel rimane in memoria. Forse era questo il problema?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.