Bom Dia, alguém tem algum exemplo contendo alguns comandos para geração de gráficos em Progress? Criei um aqui simples, mas preciso modificar a orientação da legenda do rótulo de dados, o tamanho do gráfico e também a posição dele dentro da planilha. Segue código que estou utilizando na qual já exibe um gráfico: ASSIGN vchChart = chWorkBook:Charts:Add() vchChart:ChartType = 51 vchChart:HasTitle = TRUE vchChart:HasLegend = FALSE. vchChart:ChartTitle:Characters:Text = "RESUMO GERAL POR DEFEITOS":U. vchChart:SetSourceData(chWorkSheet:Range("B3:C":U + STRING(IDX - 3)), 2). vchChart:ApplyDataLabels(6,5). vchChart:Location(2, "RESGERAL":U). Então se alguém tiver algum manual contendo os comandos para gráfico, agradeceria, ou então, que pudessem me explicar como ajustar aí em cima para que a legenda do rótulo de dados não fique em 45º e sim em 90º, como se ajusta o tamanho do gráfico dentro da planilha e como se ajusta a posição dele, agradeço! Obrigado!!!
Esses são metodos da minha rotina de planilha que gera grafico, ve se tem alguma coisa que te ajuda ai .... Código: method public void newGrafico(): empty temp-table graficos. createTabelaGraficos(). end method. method public void addSerie(nome as character, rangeValues as character, rangeXValues as character): define variable contador as integer no-undo. assign contador = 1. for last graficos no-lock: assign contador = sequenciaSerie + 1. end. create graficos. assign graficos.sequenciaSerie = contador graficos.name = nome graficos.rangeValues = rangeValues graficos.rangeXValues = rangeXValues. end method. method public void createGrafico(posX as decimal, posY as decimal, Largura as decimal, altura as decimal, tipoGrafico as character, titulo as character): createGrafico(posX, posY, Largura, altura, tipoGrafico, titulo, no). end method. method public void createGrafico(posX as decimal, posY as decimal, Largura as decimal, altura as decimal, tipoGrafico as character, titulo as character, applyDataLabels as logical): define variable rangeName as com-handle no-undo. define variable rangeValues as com-handle no-undo. define variable rangeXValues as com-handle no-undo. define variable contadorSerie as integer no-undo. excel:ActiveWorkBook:ActiveSheet:ChartObjects:add(posX, posY, largura, altura):Activate. excel:ActiveChart:chartType = getTipoGrafico(tipoGrafico). excel:ActiveChart:hasTitle = yes. excel:ActiveChart:ChartTitle:text = titulo. assign contadorSerie = 0. for each graficos no-lock: assign rangeName = excel:ActiveWorkBook:ActiveSheet:range(graficos.name). assign rangeValues = excel:ActiveWorkBook:ActiveSheet:range(graficos.rangeValues). assign rangeXValues = excel:ActiveWorkBook:ActiveSheet:range(graficos.rangeXValues). excel:ActiveChart:SeriesCollection:NewSeries. excel:ActiveChart:SeriesCollection(graficos.sequenciaSerie):name = rangeName. excel:ActiveChart:SeriesCollection(graficos.sequenciaSerie):values = rangeValues. excel:ActiveChart:SeriesCollection(graficos.sequenciaSerie):XValues = rangeXValues. if applyDataLabels then excel:ActiveChart:SeriesCollection(graficos.sequenciaSerie):HasDataLabels = true. release object rangeName. release object rangeValues. release object rangeXValues. assign contadorSerie = contadorSerie + 1. end. if contadorSerie = 1 then excel:ActiveChart:hasLegend = false. end method. method public integer getTipoGrafico(nome as character): for first tiposGrafico no-lock where tiposGrafico.nome = nome: return tiposGrafico.codigo. end. error:throwException('Planilha','Erro tipo de Grafico','Tipo de grafico informado não encontrado'). end method. method private void createTabelaGraficos(): empty temp-table tiposGrafico. gravarTipoGrafico('xl3DArea' , -4098, 'Area 3D'). gravarTipoGrafico('xl3DAreaStacked' , 78 , 'Area sobreposta 3D'). gravarTipoGrafico('xl3DAreaStacked100' , 79 , 'Area 100% sobreposta'). gravarTipoGrafico('xl3DBarClustered' , 60 , 'Barra agrupada 3D'). gravarTipoGrafico('xl3DBarStacked' , 61 , 'Barra sobreposta 3D'). gravarTipoGrafico('xl3DBarStacked100' , 62 , 'Barra 100% sobreposta 3D'). gravarTipoGrafico('xl3DColumn' , -4100, 'Coluna 3D'). gravarTipoGrafico('xl3DColumnClustered' , 54 , 'Coluna agrupada 3D'). gravarTipoGrafico('xl3DColumnStacked' , 55 , 'Coluna sobreposta 3D'). gravarTipoGrafico('xl3DColumnStacked100' , 56 , 'Coluna 100% sobreposta 3D'). gravarTipoGrafico('xl3DLine' , -4101, 'Linha 3D'). gravarTipoGrafico('xl3DPie' , -4102, 'Pizza 3D'). gravarTipoGrafico('xl3DPieExploded' , 70 , 'Pizza destacada 3D'). gravarTipoGrafico('xlArea' , 1 , 'Area'). gravarTipoGrafico('xlAreaStacked' , 76 , 'Area Sobreposta'). gravarTipoGrafico('xlAreaStacked100' , 77 , 'Area 100% sobreposta'). gravarTipoGrafico('xlBarClistered' , 57 , 'Barra Agrupada'). gravarTipoGrafico('xlBarOfPie' , 71 , 'Barra de pizza'). gravarTipoGrafico('xlBarStacked' , 58 , 'Barra sobreposta'). gravarTipoGrafico('xlBarStacked100' , 59 , 'Barra 100% sobreposta'). gravarTipoGrafico('xlBubble' , 15 , 'Bolha'). gravarTipoGrafico('xlBubble3DEffect' , 87 , 'Bolha com efeitos 3D'). gravarTipoGrafico('xlColumnClustered' , 51 , 'Coluna agrupada'). gravarTipoGrafico('xlColumnStacked' , 52 , 'Coluna sobreposta'). gravarTipoGrafico('xlColumnStacked100' , 53 , 'Coluna 100% sobreposta'). gravarTipoGrafico('xlConeBarClustered' , 102 , 'Barra conica agrupada'). gravarTipoGrafico('xlConebarStacked' , 103 , 'Barra conica sobreposta'). gravarTipoGrafico('xlConeBarStacked100' , 104 , 'Barra conica 100% sobreposta'). gravarTipoGrafico('xlConeCol' , 105 , 'Coluna conica 3D'). gravarTipoGrafico('xlConeColClustered' , 99 , 'Coluna conica agrupada'). gravarTipoGrafico('xlConeColStacked' , 100 , 'Coluna conica sobreposta'). gravarTipoGrafico('xlConeColStacked100' , 101 , 'Coluna conica 100% sobreposta'). gravarTipoGrafico('xlCylinderBarClustered' , 95 , 'Barra cilindrica agrupada'). gravarTipoGrafico('xlCylinderBarStacked' , 96 , 'Barra cilindrica sobreposta'). gravarTipoGrafico('xlCylinderBarStacked100' , 97 , 'Barra cilindrica 100% sobreposta'). gravarTipoGrafico('xlCylinderCol' , 98 , 'Coluna cilindrica 3D'). gravarTipoGrafico('xlCylinderColClustered' , 92 , 'Coluna conica agrupada'). gravarTipoGrafico('xlCylinderColStacked' , 93 , 'Coluna conica sobreposta'). gravarTipoGrafico('xlCylinderColStacked100' , 94 , 'Coluna cilindrica 100% sobreposta'). gravarTipoGrafico('xlDoughnut' , -4120, 'Rosca'). gravarTipoGrafico('xlDoughnutExploded' , 80 , 'Rosca destacada'). gravarTipoGrafico('xlLine' , 4 , 'Linha'). gravarTipoGrafico('xlLineMarkers' , 65 , 'Linha com marcadores'). gravarTipoGrafico('xlLineMarkersStacked' , 66 , 'Linhas sobrepostas com Marcadores'). gravarTipoGrafico('xlLineMarkersStacked100' , 67 , 'Linha 100% sobreposta com marcadores'). gravarTipoGrafico('xlLineStacked' , 63 , 'Linhas sobrepostas'). gravarTipoGrafico('xlLineStacked100' , 64 , 'Linha 100% sobreposta'). gravarTipoGrafico('xlPie' , 5 , 'Pizza'). gravarTipoGrafico('xlPieExploded' , 69 , 'Pizza destacada'). gravarTipoGrafico('xlPieOfPie' , 68 , 'Pizza de pizza'). gravarTipoGrafico('xlPyramidBarClustered' , 109 , 'Barra piramidal agrupada'). gravarTipoGrafico('xlPyramidBarStacked' , 110 , 'Barras piramidais sobrepostas'). gravarTipoGrafico('xlPyramidBarStacked100' , 111 , 'Barra piramidal 100% sobreposta'). gravarTipoGrafico('xlPyramidCol' , 112 , 'Colunas Piramidais 3D'). gravarTipoGrafico('xlPyramidColClustered' , 106 , 'Colunas piramideis agrupadas'). gravarTipoGrafico('xlPyramidColStacked' , 107 , 'Colunas piramidais sobrepostas'). gravarTipoGrafico('xlPyramidColStacked100' , 108 , 'Colunas piramidais 100% sobrepostas'). gravarTipoGrafico('xlRadar' , -4151, 'Radar'). gravarTipoGrafico('xlRadarFilled' , 82 , 'Radar preenchido'). gravarTipoGrafico('xlRadarMarkers' , 81 , 'Radar com marcadores de dados'). gravarTipoGrafico('xlStockHLC' , 88 , 'Alta-Baixa-Fechamento'). gravarTipoGrafico('xlStockOHLC' , 89 , 'Abertura-Alta-Baixa-Fechamento'). gravarTipoGrafico('xlStockVHLC' , 90 , 'Volume-Alta-Baixa-Fechamento'). gravarTipoGrafico('xlStockVOHLC' , 91 , 'Volume-Abertura-Alta-Baixa-Fechamento'). gravarTipoGrafico('xlSurface' , 83 , 'Superficie 3D'). gravarTipoGrafico('xlSurfaceTopView' , 85 , 'Superficie (vista de cima)'). gravarTipoGrafico('xlSurfaceTopViewWireframe' , 86 , 'Superficie (esboco da vista de cima)'). gravarTipoGrafico('xlSurfaceWireframe' , 84 , 'Superficie 3D (esboco)'). gravarTipoGrafico('xlXYScatter' , -4169, 'Dispersão'). gravarTipoGrafico('xlXYScatterLines' , 74 , 'Dispersão com linhas'). gravarTipoGrafico('xlXYScatterLinesNoMarkers' , 75 , 'Dispersão com linhas e sem marcadores de dados'). gravarTipoGrafico('xlXYScatterSmooth' , 72 , 'Dispersão com linhas ajustadas'). gravarTipoGrafico('xlXYScatterSmoothNoMarkers', 73 , 'Dispersao com linhas ajustadas e sem marcadores de dados'). end method. method private void gravarTipoGrafico(nome as character, codigo as integer, descricao as character): create tiposGrafico. assign tiposGrafico.nome = nome tiposGrafico.codigo = codigo tiposGrafico.descricao = descricao. end method.