Newsgroup: it.comp.appl.access
Titolo: Aassegnare Stile/Effetti a Grafico Excel via codice

Ciao a tutti, il immo problema e' dover assegnare uno stile/effetto ad una
"Serie" di valori su un grafico creato in Vba su Excel. Sono riuscito ad
assegnare il colore interno (Inrterior.Color) ma non riesco ad assegnare il
"Fill Effect". Ho provato in varie maniere come per esempio :
With .ChartObjects("graphe").Chart.SeriesCollection(1)
    .Border.Weight = 1
    .Border.LineStyle = -1
    .Fill.OneColorGradient Style:=msoGradientVertical, Variant:=4, Degree:=0.25
    .Fill.Visible = True
    .Fill.ForeColor.SchemeColor = 25
  End With
ma niente da fare , mi da errore come se l'oggetto non supportasse questo
metodo. Qualcuno e' cosi' gentile da potermi aiutare se magari si e' gia'
trovato a sviluppare tali problemi?
Grazie in anticipo del vostro sempre prezioso aiuto.
Leonardo
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 ha scritto nel messaggio 
news:82Z112Z6Z2Y11...@usenet.libero.it...

La cosa più semplice è simulare a mano, con il generatore di macro di excel, 
le azioni da far eseguire al codice; poi riadattarla.
es.
oggettoApplication.ActiveWorkbook.Charts("graphe").SeriesCollection(1).Select
With oggettoApplication.Selection.Border
    .Weight = 1
    .LineStyle = -1
End With
With oggettoApplication.Selection
    .Fill.OneColorGradient style:=msoGradientHorizontal, Variant:=4, 
Degree:=0.25
    .Fill.Visible = True
    .Fill.ForeColor.SchemeColor = 25
End With
Ciao.
-- 
Sergio MAZZA 


Grazie molto Sergio del tuo suggerimento che io ho subito seguito. Il
problema e' che la parte riguardante il Fill sembra non piacergli. Il
programma mi da lo stesso errore (ho creato una macro in excel con il
grafico originale e ho visto il codice). Questo e' quello che ho scritto (la
parte remark e' quella che non accetta):
    With oWks.Charts("mio grafico").SeriesCollection(1).Points(1).Select
 
        With Selection.Border
            .Weight = xlThin
            .LineStyle = xlAutomatic
        End With
        Selection.Shadow = False
        Selection.InvertIfNegative = False
  ' Selection.Fill.OneColorGradient style:=msoGradientVertical, Variant:=1,_
  ' Degree:=0.231372549019608
        With Selection
            .Fill.Visible = True
            .Fill.ForeColor.SchemeColor = 40
        End With
    End With
L'errore che mi esce e': Runtime Error 1004 - Application defined or
object-defined error.
Per completezza di informationi questo e' quello che ho dichiarato (Forse ho
sbagliato qualcosa nella dichiarazione oppure nell'uso dell'oggetto?):
Dim oApp As Excel.Application
Dim oWks As Excel.Workbook
Dim oWS As Excel.Worksheet
Set oApp = CreateObject("Excel.Application") '<-- assegno all'oggetto
l'istanza di Excel
Set oWks = oApp.Workbooks.Add
Set oWS = oWks.Worksheets("Sheet1")
Grazie ancora


 Grazie molto Sergio del tuo suggerimento che io ho subito seguito. Il

Se non devi fare cose moolto particolari, puoi utilizzare solo l'istanza 
all'oggetto Application come ho fatto io.
Anzi prova.
Comunque per far riferimento alla Selection dovresti indicare l'oggetto 
padre che è Application: oApp.Selection... Come nel mio esempio.
Quel pezzo di codice l'ho provato sia con grafici inseriti in un foglio:
oApp.ActiveWorkbook.ActiveSheet.Chart("grafico1").SeriesCollection(1).Select
che con fogli grafico:
oApp.ActiveWorkbook.Charts("grafico1").SeriesCollection(1).Select
Ciao.
-- 
Sergio MAZZA