Newsgroup: it.comp.appl.access
Titolo: Formattare da Access un foglio xls

Salve a tutti,
Il mio problema era inviare i dati di una query su un foglio di excel e
formattare le varie celle, tutto ciň premendo un pulsunte da un form di
Access.
Dopo varie prove aiutato dal NG, sono arrivato a questo risultato, perň
funziona solo la prima volta che premo il pulsante, dopodichč per rifarlo
funzionare, devo chiudere il database e riaprirlo. Mi potete dire cosa non
va?
----------------------------------------------------------------------------
--------
Function RipartizioneSpeseEsporta()
On Error GoTo RipartizioneSpeseEsporta_Err
    DoCmd.OutputTo acQuery, "04 Ripartizioni spese", "MicrosoftExcel(*.xls)_
    ", "C:\Documents and Settings\administrator\Desktop\spese.xls", True, ""
RipartizioneSpeseEsporta_Exit:
    Exit Function
RipartizioneSpeseEsporta_Err:
    MsgBox Error$
    Resume RipartizioneSpeseEsporta_Exit
End Function
--------------------------------------------------------------------
Sub formatta()
    Rows("1:1").Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 90
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Selection.Font.Bold = True
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    Selection.Interior.ColorIndex = xlNone
    Cells.Select
    Cells.EntireColumn.AutoFit
    Cells.EntireRow.AutoFit
    Range("A1").Select
End sub
----------------------------------------------------------------------------
-
Private Sub Comando48_Click()
    Dim ex As Object
    Set ex = CreateObject("excel.application")
    RipartizioneSpeseEsporta
    formatta
End Sub

 ha scritto nel messaggio
news:p1Bma.36358$DT4.1...@twister1.libero.it...

Devi impostare a nothing le variabili oggetto; in questo caso "ex".
Quindi dopo la chiamata alla sub "formatta" inserisci:
Set ex = nothing
Ciao.
--
Sergio MAZZA


Ho provato ad inserire Set ex = nothing dopo la chiamata ma fa la stessa
cosa. La prima volta funziona, la seconda mi dice:
Errore di run-time '1004':
Metodo 'Rows' dell'oggetto '_Global' non riuscito
che chiaramente si riferisce alla sub formatta.
Ne sai qualcosa? sicuramente ho dimenticato una cazzata da qualche
parte!!!!!!!
grazie

 End Sub
    ... piu' o meno.
-- 
    (Facci sapere se ed eventualmente come hai risolto. Grazie.)
Ciao :o)
Maurizio
--------
?SPQR(C)
 X
--------


Lo sapevo che avevo fatto una cazzata!!!! Ti ringrazio e ora mi metto a
studiare!!!!!!

 ha scritto nel messaggio
news:yIDma.13660$LB6.3...@news1.tin.it...
Certo che tu c'hai sempre la FAVA in mano o in bocca eh?
Antonio


oltre al suggerimento di Maurizio Borrelli, considera anche il fatto di non
dividere le istruzioni che formattano dalla creazione/distruzione degli
oggetti. Lasciali tutti nella stessa sub o function, gestisci meglio un
eventuale errore (on error goto)...
Ciao.
--
Sergio MAZZA