Newsgroup: it.comp.lang.visual-basic
Titolo: Come scrivere da VB dei dati in un foglio EXEL

Devo fare un'applicazione che , leggendo dei dati dalla comunicazione
seriale deve elaborarli e scriverli in un foglio Exel.
Quello che avrei bisogno è di sapere come è possibile aprire un foglio EXEL
da VB e come scriverci dei dati.
Sarei profondamente grato se mi forniste anche un piccolo esempio.
Grazie in anticipo dell'aiuto
Marius

da VB e come scriverci dei dati.
Ti copio una routine tratta dal mio progetto EMiGraf, senza nemmeno
togliere quei 2 commenti che ho messo :) E' codice da raffinare un
po':
*****
Private Sub cmdEsporta_Click()
Dim Data As String
Dim NomeFoto As String
Dim NumeroFoto As String
Dim Riga As Integer
Dim Contatore As Integer
Dim XLApp
 
'DIVIDERE IN PARTI LA ROUTINE!!!
'chiede quante foto per colore
'chiede quante foto in totale (o quanti pacchetti di foto)
'chiede il tipo di stampa (soggetti/lunghezze)
'chiede i titoli
'controlla se il file esiste gia'
'   se esiste lo apre
'   se non esiste lo crea
'scrive i dati nel foglio
'salva il foglio
'finisce e conferma l'esito dell'esportazione
 
    Set XLApp = GetObject("", "Excel.Application")
    With XLApp
        XLApp.Visible = True
        .Workbooks.Add
 
        Data = Left(NomeFile, 2) & "/" & Right(Left(NomeFile, 4), 2) &
"/2000"
        NomeFoto = Left(NomeFile, 6)
        NumeroFoto = Val(Left(Right(NomeFile, 6), 2))
 
        If NumeroFoto < 1 Then
            NumeroFoto = 1
        End If
 
'per cambiare dimensione celle
'    Rows("2:3").Select
'    Selection.RowHeight = 14.25
'    Columns("B:C").Select
'    Selection.ColumnWidth = 11
    'crea una linea media attorno al titolo
        .Range("A1:F1").Select
        'unisco le celle
        .Selection.Merge
        .Range("A1").Font.Size = 14
        .Range("A1").Font.Bold = True
    'QUESTO TITOLO DEVE ESSERE CHIESTO ALL'UTENTE!!!
        .Range("A1").Value = "VALUTAZIONE DELLO STRESS FISICO"
        .Range("G1:G1").Select
        With .Selection
            .Font.Size = 14
            .Font.Bold = True
        End With
        .Range("G1").Value = "'" & Data
'        .Selection.Borders(5).LineStyle = -4142     'xlDiagonalDown =
xlNone
'        .Selection.Borders(6).LineStyle = -4142     'xlDiagonalUp =
xlNone
'        With .Selection.Borders(7)         'xlEdgeLeft
'            .LineStyle = 1                 'xlContinuous
'            .Weight = -4138                'xlMedium
'            .ColorIndex = -4105            'xlAutomatic
'        End With
'        With .Selection.Borders(8)         'xlEdgeTop
'            .LineStyle = 1                 'xlContinuous
'            .Weight = -4138                'xlMedium
'            .ColorIndex = -4105            'xlAutomatic
'        End With
'        With .Selection.Borders(9)         'xlEdgeBottom
'            .LineStyle = 1                 'xlContinuous
'            .Weight = -4138                'xlMedium
'            .ColorIndex = -4105            'xlAutomatic
'        End With
'        With .Selection.Borders(10)        'xlEdgeRight
'            .LineStyle = 1                 'xlContinuous
'            .Weight = -4138                'xlMedium
'            .ColorIndex = -4105            'xlAutomatic
'        End With
'        .Selection.Borders(11).LineStyle = -4142    'xlInsideVertical
= xlNone
    'crea una linea sottile sotto alle celle selezionate
'        .Range("A4:H4").Select
'        .Selection.Borders(5).LineStyle = -4142     'xlDiagonalDown =
xlNone
'        .Selection.Borders(6).LineStyle = -4142     'xlDiagonalUp =
xlNone
'        .Selection.Borders(7).LineStyle = -4142     'xlEdgeLeft =
xlNone
'        .Selection.Borders(8).LineStyle = -4142     'xlEdgeTop =
xlNone
'        With .Selection.Borders(9)                  'xlEdgeBottom
'            .LineStyle = 1                          'xlContinuous
'            .Weight = 2                             'xlThin
'            .ColorIndex = -4105                     'xlAutomatic
'        End With
'        .Selection.Borders(10).LineStyle = -4142    'xlEdgeRight =
xlNone
'        .Selection.Borders(11).LineStyle = -4142    'xlInsideVertical
= xlNone
 
        .Range("A2").Font.Size = 12
        .Range("A2").Font.Bold = True
        .Range("A2").Value = "CONTROLLO"
 
    'allarga la colonna F
        .Columns("F:F").ColumnWidth = 11
 
    'centra il testo nelle celle selezionate
        .Range("A3:F3").Select
        With .Selection
            .HorizontalAlignment = -4108            'xlCenter
            .VerticalAlignment = -4107              'xlBottom
            .WrapText = False
            .Orientation = 0
            .ShrinkToFit = False
            .MergeCells = False
            .Font.Bold = True
        End With
        .Range("A3").Value = ""
        .Range("B3").Value = "TOT"
        .Range("C3").Value = "GERM"
        .Range("D3").Value = "%"
        .Range("F3").Value = "Media s.P.1"
 
    'scrivo in blu i dati con stile corsivo
        Riga = 4 + NumeroFoto
        .Cells(Riga, 1).Value = "'" & NomeFoto
        .Cells(Riga, 1).HorizontalAlignment = -4108
        .Cells(Riga, 1).Font.Color = RGB(&H0, &H0, &H7F)
 
        .Cells(Riga, 2).Value = NumeroFoto
        .Cells(Riga, 2).HorizontalAlignment = -4108
        .Cells(Riga, 2).Font.Color = RGB(&H0, &H7F, &HFF)
        .Cells(Riga, 2).Font.Italic = True
        .Cells(Riga, 4).Value = txtGerminati.Text
        .Cells(Riga, 4).HorizontalAlignment = -4108
        .Cells(Riga, 4).Font.Color = RGB(&H0, &H7F, &HFF)
        .Cells(Riga, 4).Font.Italic = True
        .Cells(Riga, 5).Value = txtPercentuale.Text
        .Cells(Riga, 5).HorizontalAlignment = -4108
        .Cells(Riga, 5).Font.Color = RGB(&H0, &H7F, &HFF)
        .Cells(Riga, 5).Font.Italic = True
        .Cells(Riga, 7).Value = txtTotale.Text
        .Cells(Riga, 7).HorizontalAlignment = -4108
        .Cells(Riga, 7).Font.Color = RGB(&H0, &H7F, &HFF)
        .Cells(Riga, 7).Font.Italic = True
 
'con .cells(2,1) accedo ad A2; con .cells(1,1) accedo ad A1
'per il loop che devo fare e' la scelta migliore.
'        .Workbooks.Close
'        .Quit
    End With
End Sub
*****
Naturalmente, ci sono appunti e porcherie varie, ma ci sono vari
esempi.
Saluti.
-- 
      Gianni "bugbarbeq" Rondinini, 25, RA, 242, 152
  VBR - Vero Birro Romagnolo®, diffidate dalle imitazioni!
 Opel/ECC Calibrezio EVO-IV --- Kawasaki "Gas Gas" ZZ-R 1100
 ICQ# 36893168 - IRCNet: bugbarbeq, @ on #linux-it & #NetBSD

 ha scritto nel messaggio
news:960hgt$eb0$1...@serv1.iunet.it...


perche' non mi funziona ?
mi da' errore di run-time 438
quando tento di eseguire la riga
.OpenWorkbook "c:\miofile.xls"
Grazie.
"Umberto Meroni" <umberto...@vbp.it.nospam> ha scritto nel messaggio
news:3mdh6.13712$gb1.5...@news4.aus1.giganews.com...


 ha scritto nel messaggio
news:96bu73$q0p$1...@pegasus.tiscalinet.it...


 ha scritto nel messaggio
news:f3xj6.25087$7U4.6...@news.infostrada.it...


Grazie a tutti!   Siete molto gentili......: ora riesco a fare quello che
voglio.

 wrote in message
O_Ql6.45376$k55.9...@news.infostrada.it...
