Newsgroup: it.comp.appl.access
Titolo: Trasferire i dati su Excel come fatto finora con Word

Ho quest'esigenza.
Finora, mi è stato necessario utilizzare Word per la compilazione di 
documenti. Ho la setssa esigenza su Excel, ma attraverso il Sito Comune non 
sono riuscito a trovare nulla in questo senso.
A titolo di esempio, qua sotto riporto il sorgente per la compilazione dei 
campi  in un mod. Word(contraddistinti con il doppio segno %%).
Utilizzando lo stesso metodo per Excel, mi genera un errore 
sull'assegnazione del membro dei dati.
(Ho variato solamente l'assegnazione dell'oggetto xWord, che prima era 
relativo a "Word.Application" mentre adesso è "Excel.Application".)
    Dim Clipboard As DataObject
    ' --- associazione tardiva dei riferimenti
    Dim xWord As Object
    Dim wordoc As Object
    Dim blOpen As Boolean
    Dim xRange As Object ' Oggetto Range
automazione_Excel:
        With Application.FileSearch
        '.LookIn = RTrim(Me![Cartella1]) 'dir di partenza
        .SearchSubFolders = False  'Non ricercare nelle sottodir.
        .FileName = RTrim([carta_int])  ' nome del file (anche con caratteri 
jolly)
       If .Execute() > 0 Then
        nomenuovo = .FoundFiles(1)
        On Error Resume Next
        blOpen = True
        Set xWord = GetObject(, "Excel.Application")
        If Err.Number = 429 Then
            Set xWord = CreateObject("Excel.Application")
            blOpen = False
           Err.Number = 0
        End If
         On Error GoTo Err_Comando39_Click
         ' *********** La linea successiva, di assegnazione dell'oggetto 
wordoc, genera l'errore di proprietà o metodo non supportati, che dapprima, 
con i doc. word, funziova benissimo *********
        Set wordoc = xWord.Documents.Add(nomenuovo)
' *********************************************
         xWord.Visible = False
            Set xRange = wordoc.Range
            xRange.Find.Execute "%%nomin%%", , , , , , , , , Me![nome], True
        'Set xRange = xWord.ActiveDocument.Range
            Set xRange = wordoc.Range
            xRange.Find.Execute "%%Indirizzo%%", , , , , , , , , 
[Indirizzo], True
       ' Set xRange = xWord.ActiveDocument.Range
            Set xRange = wordoc.Range
            xRange.Find.Execute "%%località%%", , , , , , , , , [località], 
True
        '  Salvataggio automatico e apertura documento
            xWord.ActiveDocument.SaveAs [Cartellax] & "\" & 
[Nomefileassegnato]
            xWord.Visible = True
        Else
             MsgBox ("MODELLO INESISTENTE")
        End If
    End With

 wrote:
 (...) 

Una cartella di lavoro Excel è un oggetto molto più complesso di un
documento Word.
Ed infatti un oggetto di tipo Excel.Application non contiene l'insieme
Documents ! Per questo hai l'errore.
Ti suggerisco di fare un db di prova, impostando fra i riferimenti del
codice VBA la libreria di Excel.
Quindi inserisci nel codice la seguente istruzione
Dim xlsObj As New Excel.Application
Sfruttando i tooltip che si attivano quando scrivi il codice, esamina
le varie proprietà e metodi dell'oggetto xlsObj con il supporto
dell'help in linea.
In questo modo avrai un quadro sommario di ciò che hai a disposizione
e di come usarlo.
(...)

 ha scritto nel messaggio 
news:TKhYh.17108$281....@tornado.fastwebnet.it...

Ciao Marco,
sarebbe troppo semplice! purtroppo il modello ad oggetti di Excel è 
completamente diverso da quello di Word per cui l'operazione da te fatta non 
è sufficiente, infatti mentre in Word apri dei Documenti (xWord.Documents) 
in Excel apri dei Fogli di Lavoro (xExcel.WorkBooks)  e così via....
Trovi della documentazione su 
http://www.donkarl.com/it/CISA/Download.htm
 
l'articolo di Sergio Mazza Automazione di Excel.
-- 
Cinzia [Office Access MVP]
_______________________
 
www.riolab.org
---------------------------------------- 

 ha scritto nel messaggio 
news:TKhYh.17108$281....@tornado.fastwebnet.it...

Come ti hanno già spiegato, l'approccio ad Excel non può essere identico a 
quello di Word; non fosse altro che sono due applicazioni con compiti 
differenti.
Nel sito comune trovi un esempio base:
Sezione General
6.48 Esempio di automazione con MSExcel.
Poi su sito di Karl, riferito al CISA, trovi un altro esempio in poco più 
complesso:
http://www.donkarl.com/it/CISA/Download.htm
Automazione di Excel
Ciao.
-- 
Sergio MAZZA 

 ha scritto nel messaggio 
news:TKhYh.17108$281....@tornado.fastwebnet.it...

Grazie infinite a tutti Voi per l'aiuto:
sono riuscito a fare proprio ciò che mi serviva, esportando i dati proprio 
come faccio con Word.
Grazie ancora a tutti!
Marco