digraph G { style=filled; bgcolor=gray95 node [fontsize = 12 fontname = calibri style=filled fillcolor=white] edge [fontsize = 10 fontname=Consolas decorate=true fontcolor=gray50] key [shape=Mrecord fillcolor = gray95 color=gray20 style=filled label="{KEY|Blue (R): Refreshable|Green (Rb): Refreshable returns\na boolean success|Orange (C): Cancellable refresh|Red (D/Dd): Delete-able\n(including connection)|Black: Standard|NOTE: Some nodes fall in several categories,\nonly the most important one is shown.|NOTE: Edges are labelled with 'many' to indicate\na collection, and sometimes 'one'\nto disambiguate (default is one if unspecified).}"] subgraph methods{ node [shape = record] { node[xlabel = "C" color=orange] QueryTable [xlabel="C/Rb"] DataFeedConnection OLEDBConnection ODBCConnection } //-> "CancelRefresh/Refreshing" { node[xlabel = "R" color=blue] WorkbookConnection WorkbookQuery ListObject OLEDBConnection ODBCConnection PivotCache ModelTable Model DataFeedConnection Workbook } //-> Refresh { node[xlabel = "Rb" color=green] TableObject QueryTable PivotTable } //-> "Refresh As Boolean" { node[xlabel = "D" color=red] WorkbookQuery } //-> "Delete([DeleteConnection])" { node[xlabel = "Dd" color=red] WorkbookConnection TableObject SlicerCache }// -> Delete } // Workbook //done // Worksheet //done // ListObject //done // QueryTable //done // WorkbookConnection //done // TableObject //done // WorkbookQuery //done // WorksheetDataConnection //done // OLEDBConnection //done // ODBCConnection //done // PivotTable //done // PivotCache //done // Range //done // ModelTable //done // Model //done // DataFeedConnection //done // ADOConnection // SlicerCache //done // Slicer //done // ModelConnection //done ModelConnection -> ADOConnection Workbook -> Model Workbook -> PivotCache, SlicerCache, PivotTable, Worksheet, WorkbookConnection, WorkbookQuery [label="many"] Worksheet -> Range, ListObject, QueryTable, PivotTable [label="many"] ListObject -> QueryTable, TableObject, Range ListObject, PivotTable, SlicerCache -> Slicer [label="many"] TableObject -> ListObject, WorkbookConnection, Range QueryTable -> ListObject, WorkbookConnection, Range PivotCache -> ADOConnection, WorkbookConnection PivotTable -> PivotCache, Range WorkbookConnection -> WorksheetDataConnection, OLEDBConnection, ODBCConnection, ModelConnection, DataFeedConnection WorkbookConnection -> ModelTable, Range [label="many"] ModelTable -> WorkbookConnection [label="one"] Model -> WorkbookConnection Model -> ModelTable [label="many"] Range -> ListObject, PivotTable, QueryTable //[label="one"] SlicerCache -> ListObject, WorkbookConnection SlicerCache -> PivotTable [label="many"] Slicer -> SlicerCache OLEDBConnection -> ADOConnection }