Kbase P72109: ACTIVEX - How to create charts in Excel using Progress 4GL?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/5/2006 |
|
Status: Verified
GOAL:
How to create charts in Excel using Progress 4GL?
GOAL:
Is it possible to create a report using charts through the 4GL?
GOAL:
How to add a chart to a Microsoft Excel Spreadsheet in the format of a pie
FACT(s) (Environment):
Progress 8.x
Progress 9.x
OpenEdge 10.x
FIX:
The following 4GL code demonstrates the syntax of how to add a chart to a Microsoft Excel Spreadsheet in the format of a pie with a 3-D visual effect:
DEFINE VARIABLE vchExcel AS COM-HANDLE NO-UNDO.
DEFINE VARIABLE vchWorkBook AS COM-HANDLE NO-UNDO.
DEFINE VARIABLE vchWorkSheet AS COM-HANDLE NO-UNDO.
DEFINE VARIABLE vchChart AS COM-HANDLE NO-UNDO.
DEFINE VARIABLE viCounter AS INTEGER NO-UNDO.
DEFINE VARIABLE viRows AS INTEGER NO-UNDO.
DEFINE VARIABLE vcFields AS CHARACTER NO-UNDO INITIAL "Internet Explorer,Netscape,Others":U.
DEFINE VARIABLE vcValues AS CHARACTER NO-UNDO INITIAL "45%,40%,15%":U.
CREATE "Excel.Application":U vchExcel.
ASSIGN
vchExcel:VISIBLE = TRUE
vchWorkBook = vchExcel:Workbooks:ADD
vchWorkSheet = vchExcel:Sheets:Item(1).
viRows = NUM-ENTRIES(vcFields).
REPEAT viCounter = 1 TO viRows:
vchWorkSheet:Range("A":U + STRING(viCounter)):VALUE = ENTRY(viCounter, vcFields).
vchWorkSheet:Range("B":U + STRING(viCounter)):VALUE = ENTRY(viCounter, vcValues).
END.
ASSIGN
vchChart = vchWorkBook:Charts:Add()
vchChart:ChartType = -4102 /* xl3DPie = -4102 */
vchChart:HasTitle = TRUE.
vchChart:ChartTitle:Characters:Text = "Web Browser Market":U.
vchChart:SetSourceData(vchWorkSheet:Range("A1:B":U + STRING(viRows)), 2).
vchChart:ApplyDataLabels(5 /* xlDataLabelsShowLabelAndPercent = 5 */).
vchChart:Location(2 /* xlLocationAsObject = 2 */, "Sheet1":U).
IF VALID-HANDLE(vchChart) THEN
RELEASE OBJECT vchChart.
IF VALID-HANDLE(vchWorkSheet) THEN
RELEASE OBJECT vchWorkSheet.
IF VALID-HANDLE(vchWorkBook) THEN
RELEASE OBJECT vchWorkBook.
IF VALID-HANDLE(vchExcel) THEN
RELEASE OBJECT vchExcel.