<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: VBA documentation in VBA Forum</title>
    <link>https://forums.autodesk.com/t5/vba-forum/vba-documentation/m-p/1413769#M41255</link>
    <description>Here is a class module that can reproduce Tables.  Look at the Create and Read function that shows exactly, as mutch as possible, to extract and recreate a Table.&lt;BR /&gt;
(Paste this in a new Class named "Ci_Table")&lt;BR /&gt;
&lt;BR /&gt;
'***********************************************************************&lt;BR /&gt;
' Module:  Ci_Table.cls&lt;BR /&gt;
' Author:  jgay&lt;BR /&gt;
' Modified: April 28, 2005 1:02:53 PM&lt;BR /&gt;
' Purpose: &lt;BR /&gt;
' Comment:&lt;BR /&gt;
'          A table drawned in AutoCAD&lt;BR /&gt;
'          This class supports tables for every property except for merged cells.&lt;BR /&gt;
'          All cell-specific property is contained in an array&lt;BR /&gt;
'          ------------------------------------------------------------------&lt;BR /&gt;
'          A change is required in the VB6 definition in PowerDesigner&lt;BR /&gt;
'          In the "Object language property" window, click on:&lt;BR /&gt;
'          Profile&lt;BR /&gt;
'          Attribute&lt;BR /&gt;
'          Templates&lt;BR /&gt;
'          definition&lt;BR /&gt;
'          The 2 second entries need the "DIM" removed from them.&lt;BR /&gt;
'***********************************************************************&lt;BR /&gt;
&lt;BR /&gt;
VERSION 1.0 CLASS&lt;BR /&gt;
BEGIN&lt;BR /&gt;
  MultiUse            = -1 'True&lt;BR /&gt;
  Persistable         =  0 'NotPersistable&lt;BR /&gt;
  DataBindingBehavior =  0 'vbNone&lt;BR /&gt;
  DataSourceBehavior  =  0 'vbNone&lt;BR /&gt;
  MTSTransactionMode  =  0 'NotAnMTSObject&lt;BR /&gt;
END&lt;BR /&gt;
Attribute VB_Name            = "Ci_Table"&lt;BR /&gt;
Attribute VB_GlobalNameSpace = False&lt;BR /&gt;
Attribute VB_Creatable       = True&lt;BR /&gt;
Attribute VB_Exposed         = False&lt;BR /&gt;
Attribute VB_PredeclaredId   = False&lt;BR /&gt;
&lt;BR /&gt;
Option Explicit&lt;BR /&gt;
&lt;BR /&gt;
' Attributes&lt;BR /&gt;
' Specifies the columns in the Table&lt;BR /&gt;
Private mColumns As Integer&lt;BR /&gt;
' Sets the uniform column width for all the columns in the table.&lt;BR /&gt;
Private mColumnWidth As Variant&lt;BR /&gt;
' Specifies the direction vector of the table&lt;BR /&gt;
Private mDirection As Variant&lt;BR /&gt;
' Specifies the Table flow direction&lt;BR /&gt;
Private mFlowDirection As Long&lt;BR /&gt;
' Returns and sets the header suppressed flag value.&lt;BR /&gt;
Private mHeaderSuppressed As Boolean&lt;BR /&gt;
' Specifies the Table height&lt;BR /&gt;
Private mHeight As Double&lt;BR /&gt;
' Specifies the horizontal distance between text and edge of cell&lt;BR /&gt;
Private mHorzCellMargin As Double&lt;BR /&gt;
' Specifies the insertion point of the table&lt;BR /&gt;
Private mInsertionPoint As Variant&lt;BR /&gt;
' Specifies the current layer of the object&lt;BR /&gt;
Private mLayer As String&lt;BR /&gt;
' Specifies the current linetype of the object&lt;BR /&gt;
Private mLinetype As String&lt;BR /&gt;
' Specifies the linetype scale factor of the object&lt;BR /&gt;
Private mLinetypeScale As ACAD_NOUNITS&lt;BR /&gt;
' Specifies the lineweight for the object&lt;BR /&gt;
Private mLineweight As ACAD_LWEIGHT&lt;BR /&gt;
' Sets the uniform row height for all the rows in the table.&lt;BR /&gt;
Private mRowHeight As Variant&lt;BR /&gt;
' Specifies the rows in the Table&lt;BR /&gt;
Private mRows As Integer&lt;BR /&gt;
' Specifies the style name of the Table&lt;BR /&gt;
Private mStyleName As String&lt;BR /&gt;
' Returns and sets the title suppressed flag value.&lt;BR /&gt;
Private mTitleSuppressed As Boolean&lt;BR /&gt;
' Specifies the vertical distance between text and edge of cell&lt;BR /&gt;
Private mVertCellMargin As Double&lt;BR /&gt;
' Specifies the visibility of an object or the application&lt;BR /&gt;
Private mVisible As Boolean&lt;BR /&gt;
' Specifies the Table width&lt;BR /&gt;
Private mWidth As Double&lt;BR /&gt;
' ' Specifies the space type of the document ex; ModelSpace, PaperSpace and Block Name.&lt;BR /&gt;
Private mSpaceType As String&lt;BR /&gt;
' ' Returns an array containing a sequence of values in the Table, starting with cell 1, 1 -- 1, 2 -- 1, 3 -- 2, 1 -- 2, 2 -- 2, 3 -- 3, 1 and so on....&lt;BR /&gt;
Private mCellText() As Variant&lt;BR /&gt;
Private mCellAlignment() As Variant&lt;BR /&gt;
Private mCellBackgroundColorNone() As Variant&lt;BR /&gt;
Private mCellGridLineweight() As Variant&lt;BR /&gt;
Private mCellGridVisibility() As Variant&lt;BR /&gt;
Private mCellTextHeight() As Variant&lt;BR /&gt;
Private mCellStyleOverrides() As Variant&lt;BR /&gt;
Private mCellType() As Variant&lt;BR /&gt;
Private mCellTextRotation() As Variant&lt;BR /&gt;
Private mCellBlockID() As Variant&lt;BR /&gt;
Private mCellBlockScale() As Variant&lt;BR /&gt;
Private mCellBlockRotation() As Variant&lt;BR /&gt;
Private mCellBlockAttributeValue() As Variant&lt;BR /&gt;
Private mCellFieldID() As Variant&lt;BR /&gt;
Private mOutputXML As String&lt;BR /&gt;
Private mCellBackgroundColor() As New CI_Color&lt;BR /&gt;
Private mCellContentColor() As New CI_Color&lt;BR /&gt;
Private mCellGridColor() As New CI_Color&lt;BR /&gt;
Private mHandle As String&lt;BR /&gt;
' Assigns a hyperlink to an object and displays the hyperlink name or description (if one is specified)&lt;BR /&gt;
Public Hyperlink As New CI_Hyperlink&lt;BR /&gt;
' Returns the true color of the object.&lt;BR /&gt;
Public Color As New CI_Color&lt;BR /&gt;
Public XRecord As New Ci_XRecord&lt;BR /&gt;
&lt;BR /&gt;
' Properties&lt;BR /&gt;
Public Property Get Columns() As Integer&lt;BR /&gt;
   Columns = mColumns&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Columns(ByVal newColumns As Integer)&lt;BR /&gt;
   mColumns = newColumns&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get ColumnWidth() As Variant&lt;BR /&gt;
   ColumnWidth = mColumnWidth&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let ColumnWidth(ByVal newColumnWidth As Variant)&lt;BR /&gt;
   mColumnWidth = newColumnWidth&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Direction() As Variant&lt;BR /&gt;
   Direction = mDirection&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Direction(ByVal newDirection As Variant)&lt;BR /&gt;
   mDirection = newDirection&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get FlowDirection() As Long&lt;BR /&gt;
   FlowDirection = mFlowDirection&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let FlowDirection(ByVal newFlowDirection As Long)&lt;BR /&gt;
   mFlowDirection = newFlowDirection&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get HeaderSuppressed() As Boolean&lt;BR /&gt;
   HeaderSuppressed = mHeaderSuppressed&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let HeaderSuppressed(ByVal newHeaderSuppressed As Boolean)&lt;BR /&gt;
   mHeaderSuppressed = newHeaderSuppressed&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Height() As Double&lt;BR /&gt;
   Height = mHeight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Height(ByVal newHeight As Double)&lt;BR /&gt;
   mHeight = newHeight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get HorzCellMargin() As Double&lt;BR /&gt;
   HorzCellMargin = mHorzCellMargin&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let HorzCellMargin(ByVal newHorzCellMargin As Double)&lt;BR /&gt;
   mHorzCellMargin = newHorzCellMargin&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get InsertionPoint() As Variant&lt;BR /&gt;
   InsertionPoint = mInsertionPoint&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let InsertionPoint(ByVal newInsertionPoint As Variant)&lt;BR /&gt;
   mInsertionPoint = newInsertionPoint&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Layer() As String&lt;BR /&gt;
   Layer = mLayer&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Layer(ByVal newLayer As String)&lt;BR /&gt;
   mLayer = newLayer&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Linetype() As String&lt;BR /&gt;
   Linetype = mLinetype&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Linetype(ByVal newLinetype As String)&lt;BR /&gt;
   mLinetype = newLinetype&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get LinetypeScale() As ACAD_NOUNITS&lt;BR /&gt;
   LinetypeScale = mLinetypeScale&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let LinetypeScale(ByVal newLinetypeScale As ACAD_NOUNITS)&lt;BR /&gt;
   mLinetypeScale = newLinetypeScale&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Lineweight() As ACAD_LWEIGHT&lt;BR /&gt;
   Lineweight = mLineweight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Lineweight(ByVal newLineweight As ACAD_LWEIGHT)&lt;BR /&gt;
   mLineweight = newLineweight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get RowHeight() As Variant&lt;BR /&gt;
   RowHeight = mRowHeight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let RowHeight(ByVal newRowHeight As Variant)&lt;BR /&gt;
   mRowHeight = newRowHeight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Rows() As Integer&lt;BR /&gt;
   Rows = mRows&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Rows(ByVal newRows As Integer)&lt;BR /&gt;
   mRows = newRows&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get StyleName() As String&lt;BR /&gt;
   StyleName = mStyleName&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let StyleName(ByVal newStyleName As String)&lt;BR /&gt;
   mStyleName = newStyleName&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get TitleSuppressed() As Boolean&lt;BR /&gt;
   TitleSuppressed = mTitleSuppressed&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let TitleSuppressed(ByVal newTitleSuppressed As Boolean)&lt;BR /&gt;
   mTitleSuppressed = newTitleSuppressed&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get VertCellMargin() As Double&lt;BR /&gt;
   VertCellMargin = mVertCellMargin&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let VertCellMargin(ByVal newVertCellMargin As Double)&lt;BR /&gt;
   mVertCellMargin = newVertCellMargin&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Visible() As Boolean&lt;BR /&gt;
   Visible = mVisible&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Visible(ByVal newVisible As Boolean)&lt;BR /&gt;
   mVisible = newVisible&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Width() As Double&lt;BR /&gt;
   Width = mWidth&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Width(ByVal newWidth As Double)&lt;BR /&gt;
   mWidth = newWidth&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get SpaceType() As String&lt;BR /&gt;
   SpaceType = mSpaceType&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let SpaceType(ByVal newSpaceType As String)&lt;BR /&gt;
   mSpaceType = newSpaceType&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellText() As Variant&lt;BR /&gt;
   CellText = mCellText&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellText(ByVal newCellText As Variant)&lt;BR /&gt;
   mCellText = newCellText&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellAlignment() As Variant&lt;BR /&gt;
   CellAlignment = mCellAlignment&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellAlignment(ByVal newCellAlignment As Variant)&lt;BR /&gt;
   mCellAlignment = newCellAlignment&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellBackgroundColorNone() As Variant&lt;BR /&gt;
   CellBackgroundColorNone = mCellBackgroundColorNone&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellBackgroundColorNone(ByVal newCellBackgroundColorNone As Variant)&lt;BR /&gt;
   mCellBackgroundColorNone = newCellBackgroundColorNone&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellGridLineweight() As Variant&lt;BR /&gt;
   CellGridLineweight = mCellGridLineweight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellGridLineweight(ByVal newCellGridLineweight As Variant)&lt;BR /&gt;
   mCellGridLineweight = newCellGridLineweight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellGridVisibility() As Variant&lt;BR /&gt;
   CellGridVisibility = mCellGridVisibility&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellGridVisibility(ByVal newCellGridVisibility As Variant)&lt;BR /&gt;
   mCellGridVisibility = newCellGridVisibility&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellTextHeight() As Variant&lt;BR /&gt;
   CellTextHeight = mCellTextHeight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellTextHeight(ByVal newCellTextHeight As Variant)&lt;BR /&gt;
   mCellTextHeight = newCellTextHeight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellStyleOverrides() As Variant&lt;BR /&gt;
   CellStyleOverrides = mCellStyleOverrides&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellStyleOverrides(ByVal newCellStyleOverrides As Variant)&lt;BR /&gt;
   mCellStyleOverrides = newCellStyleOverrides&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellType() As Variant&lt;BR /&gt;
   CellType = mCellType&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellType(ByVal newCellType As Variant)&lt;BR /&gt;
   mCellType = newCellType&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellTextRotation() As Variant&lt;BR /&gt;
   CellTextRotation = mCellTextRotation&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellTextRotation(ByVal newCellTextRotation As Variant)&lt;BR /&gt;
   mCellTextRotation = newCellTextRotation&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellBlockID() As Variant&lt;BR /&gt;
   CellBlockID = mCellBlockID&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellBlockID(ByVal newCellBlockID As Variant)&lt;BR /&gt;
   mCellBlockID = newCellBlockID&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellBlockScale() As Variant&lt;BR /&gt;
   CellBlockScale = mCellBlockScale&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellBlockScale(ByVal newCellBlockScale As Variant)&lt;BR /&gt;
   mCellBlockScale = newCellBlockScale&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellBlockRotation() As Variant&lt;BR /&gt;
   CellBlockRotation = mCellBlockRotation&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellBlockRotation(ByVal newCellBlockRotation As Variant)&lt;BR /&gt;
   mCellBlockRotation = newCellBlockRotation&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellBlockAttributeValue() As Variant&lt;BR /&gt;
   CellBlockAttributeValue = mCellBlockAttributeValue&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellBlockAttributeValue(ByVal newCellBlockAttributeValue As Variant)&lt;BR /&gt;
   mCellBlockAttributeValue = newCellBlockAttributeValue&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellFieldID() As Variant&lt;BR /&gt;
   CellFieldID = mCellFieldID&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellFieldID(ByVal newCellFieldID As Variant)&lt;BR /&gt;
   mCellFieldID = newCellFieldID&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get OutputXML() As String&lt;BR /&gt;
   &lt;BR /&gt;
   ' Handle=" &amp;amp; Chr(34) &amp;amp; mHandle &amp;amp; Chr(34) &amp;amp; _&lt;BR /&gt;
   &lt;BR /&gt;
   Dim i As Integer, j As Integer&lt;BR /&gt;
   &lt;BR /&gt;
   mOutputXML = "&lt;TABLE spacetype=" &amp;amp; Chr(34) &amp;amp; mSpaceType &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " colorid=" &amp;amp; Chr(34) &amp;amp; Color.ColorID &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " colortype=" &amp;amp; Chr(34) &amp;amp; Color.ColorType &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " palettename=" &amp;amp; Chr(34) &amp;amp; Color.PaletteName &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " url=" &amp;amp; Chr(34) &amp;amp; Hyperlink.URL &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " urldescription=" &amp;amp; Chr(34) &amp;amp; Hyperlink.URLDescription &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " urllocation=" &amp;amp; Chr(34) &amp;amp; Hyperlink.URLNamedLocation &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " insertionpointx=" &amp;amp; Chr(34) &amp;amp; mInsertionPoint(0) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " insertionpointy=" &amp;amp; Chr(34) &amp;amp; mInsertionPoint(1) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " insertionpointz=" &amp;amp; Chr(34) &amp;amp; mInsertionPoint(2) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " rows=" &amp;amp; Chr(34) &amp;amp; mRows &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " columns=" &amp;amp; Chr(34) &amp;amp; mColumns &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " directionx=" &amp;amp; Chr(34) &amp;amp; mDirection(0) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " directiony=" &amp;amp; Chr(34) &amp;amp; mDirection(1) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " directionz=" &amp;amp; Chr(34) &amp;amp; mDirection(2) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " flowdirection=" &amp;amp; Chr(34) &amp;amp; mFlowDirection &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " headersuppressed=" &amp;amp; Chr(34) &amp;amp; mHeaderSuppressed &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " height=" &amp;amp; Chr(34) &amp;amp; mHeight &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " horzcellmargin=" &amp;amp; Chr(34) &amp;amp; mHorzCellMargin &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " layer=" &amp;amp; Chr(34) &amp;amp; mLayer &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " linetype=" &amp;amp; Chr(34) &amp;amp; mLinetype &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " linetypescale=" &amp;amp; Chr(34) &amp;amp; mLinetypeScale &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " lineweight=" &amp;amp; Chr(34) &amp;amp; mLineweight &amp;amp; Chr(34)&amp;lt;BR&amp;gt;
   &amp;lt;BR&amp;gt;
   mOutputXML = mOutputXML &amp;amp; _&amp;lt;BR&amp;gt;
               " stylename=" &amp;amp; Chr(34) &amp;amp; mStyleName &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " titlesuppressed=" &amp;amp; Chr(34) &amp;amp; mTitleSuppressed &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " vertcellmargin=" &amp;amp; Chr(34) &amp;amp; mVertCellMargin &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " visible=" &amp;amp; Chr(34) &amp;amp; mVisible &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " width=" &amp;amp; Chr(34) &amp;amp; mWidth &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               "&gt;"&lt;BR /&gt;
               &lt;BR /&gt;
            For i = 0 To mRows - 1&lt;BR /&gt;
   mOutputXML = mOutputXML &amp;amp; _&lt;BR /&gt;
               " &lt;ROW rowheight=" &amp;amp; Chr(34) &amp;amp; mRowHeight(i) &amp;amp; Chr(34) &amp;amp; "&gt;"&lt;BR /&gt;
               For j = 0 To mColumns&lt;BR /&gt;
   mOutputXML = mOutputXML &amp;amp; " &lt;CELL celltext=" &amp;amp; Chr(34) &amp;amp; mCellText((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellalignment=" &amp;amp; Chr(34) &amp;amp; mCellAlignment((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellbackgroundcolorid=" &amp;amp; Chr(34) &amp;amp; mCellBackgroundColor((i * mColumns) + j).ColorID &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellbackgroundcolortype=" &amp;amp; Chr(34) &amp;amp; mCellBackgroundColor((i * mColumns) + j).ColorType &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellbackgroundpalettename=" &amp;amp; Chr(34) &amp;amp; mCellBackgroundColor((i * mColumns) + j).PaletteName &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellbackgroundcolornone=" &amp;amp; Chr(34) &amp;amp; mCellBackgroundColorNone((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellcontentcolorid=" &amp;amp; Chr(34) &amp;amp; mCellContentColor((i * mColumns) + j).ColorID &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellcontentcolortype=" &amp;amp; Chr(34) &amp;amp; mCellContentColor((i * mColumns) + j).ColorType &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellcontentpalettename=" &amp;amp; Chr(34) &amp;amp; mCellContentColor((i * mColumns) + j).PaletteName &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellgridcolorid=" &amp;amp; Chr(34) &amp;amp; mCellGridColor((i * mColumns) + j).ColorID &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellgridcolortype=" &amp;amp; Chr(34) &amp;amp; mCellGridColor((i * mColumns) + j).ColorType &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellgridpalettename=" &amp;amp; Chr(34) &amp;amp; mCellGridColor((i * mColumns) + j).PaletteName &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellgridlineweight=" &amp;amp; Chr(34) &amp;amp; mCellGridLineweight((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellgridvisibility=" &amp;amp; Chr(34) &amp;amp; mCellGridVisibility((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " celltextheight=" &amp;amp; Chr(34) &amp;amp; mCellTextHeight((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " celltextrotation=" &amp;amp; Chr(34) &amp;amp; mCellTextRotation((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellblockid=" &amp;amp; Chr(34) &amp;amp; mCellBlockID((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellblockscale=" &amp;amp; Chr(34) &amp;amp; mCellBlockScale((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellblockrotation=" &amp;amp; Chr(34) &amp;amp; mCellBlockRotation((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellblockattributevalue=" &amp;amp; Chr(34) &amp;amp; mCellBlockAttributeValue((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellfieldid=" &amp;amp; Chr(34) &amp;amp; mCellFieldID((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " celltype=" &amp;amp; Chr(34) &amp;amp; mCellType((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " columnwidth=" &amp;amp; Chr(34) &amp;amp; mColumnWidth(j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               "&gt;&lt;/CELL&gt;"&lt;BR /&gt;
   &lt;BR /&gt;
               Next j&lt;BR /&gt;
   mOutputXML = mOutputXML &amp;amp; " &lt;/ROW&gt;"&lt;BR /&gt;
            Next i&lt;BR /&gt;
               &lt;BR /&gt;
   mOutputXML = mOutputXML &amp;amp; " &lt;/TABLE&gt;"&lt;BR /&gt;
   &lt;BR /&gt;
   OutputXML = mOutputXML&lt;BR /&gt;
   &lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
' Implements&lt;BR /&gt;
&lt;BR /&gt;
' Procedures&lt;BR /&gt;
Public Sub SetCellBackgroundColor(ByVal Index As Integer, ByVal ColorID As String, ByVal ColorType As String, ByVal PaletteName As String)&lt;BR /&gt;
   &lt;BR /&gt;
   ReDim Preserve mCellBackgroundColor(mRows * mColumns)&lt;BR /&gt;
   mCellBackgroundColor(Index).ColorID = ColorID&lt;BR /&gt;
   mCellBackgroundColor(Index).ColorType = ColorType&lt;BR /&gt;
   mCellBackgroundColor(Index).Palettename = Palettename&lt;BR /&gt;
   &lt;BR /&gt;
End Sub&lt;BR /&gt;
&lt;BR /&gt;
Public Sub SetCellContentColor(ByVal Index As Integer, ByVal ColorID As String, ByVal ColorType As String, ByVal PaletteName As String)&lt;BR /&gt;
   &lt;BR /&gt;
   ReDim Preserve mCellContentColor(mRows * mColumns)&lt;BR /&gt;
   mCellContentColor(Index).ColorID = ColorID&lt;BR /&gt;
   mCellContentColor(Index).ColorType = ColorType&lt;BR /&gt;
   mCellContentColor(Index).Palettename = Palettename&lt;BR /&gt;
   &lt;BR /&gt;
End Sub&lt;BR /&gt;
&lt;BR /&gt;
Public Sub SetCellGridColor(ByVal Index As Integer, ByVal ColorID As String, ByVal ColorType As String, ByVal PaletteName As String)&lt;BR /&gt;
   &lt;BR /&gt;
   ReDim Preserve mCellGridColor(mRows * mColumns)&lt;BR /&gt;
   mCellGridColor(Index).ColorID = ColorID&lt;BR /&gt;
   mCellGridColor(Index).ColorType = ColorType&lt;BR /&gt;
   mCellGridColor(Index).Palettename = Palettename&lt;BR /&gt;
   &lt;BR /&gt;
End Sub&lt;BR /&gt;
&lt;BR /&gt;
' Functions&lt;BR /&gt;
Public Function Create As Boolean&lt;BR /&gt;
   &lt;BR /&gt;
   Dim SpaceObj As IAcadBlock2&lt;BR /&gt;
   Dim TableObj As AcadTable&lt;BR /&gt;
   Set SpaceObj = ThisDrawing.Blocks(mSpaceType)&lt;BR /&gt;
   ReDim Preserve mCellText(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellAlignment(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellBackgroundColor(0 To (mRows * mColumns)) ' As New CI_Color&lt;BR /&gt;
   ReDim Preserve mCellBackgroundColorNone(0 To (mRows * mColumns)) ' As Boolean&lt;BR /&gt;
   ReDim Preserve mCellContentColor(0 To (mRows * mColumns)) ' As New CI_Color&lt;BR /&gt;
   ReDim Preserve mCellGridColor(0 To (mRows * mColumns) * 4) ' As New CI_Color&lt;BR /&gt;
   ReDim Preserve mCellGridLineweight(0 To (mRows * mColumns) * 4)&lt;BR /&gt;
   ReDim Preserve mCellGridVisibility(0 To (mRows * mColumns) * 4) ' As Boolean&lt;BR /&gt;
   ReDim Preserve mCellTextHeight(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellStyleOverrides(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellTextRotation(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellType(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellBlockID(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellBlockScale(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellBlockRotation(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellBlockAttributeValue(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellFieldID(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mRowHeight(0 To mRows)&lt;BR /&gt;
   ReDim Preserve mColumnWidth(0 To mColumns)&lt;BR /&gt;
   &lt;BR /&gt;
   Set TableObj = SpaceObj.AddTable(mInsertionPoint, mRows, mColumns, mRowHeight(0), mColumnWidth(0))&lt;BR /&gt;
   &lt;BR /&gt;
   Hyperlink.SetHyperlink TableObj&lt;BR /&gt;
   TableObj.TrueColor = Color.SetCI_Color&lt;BR /&gt;
   TableObj.Direction = mDirection&lt;BR /&gt;
   TableObj.FlowDirection = mFlowDirection&lt;BR /&gt;
   TableObj.HeaderSuppressed = mHeaderSuppressed&lt;BR /&gt;
   TableObj.Height = mHeight&lt;BR /&gt;
   TableObj.HorzCellMargin = mHorzCellMargin&lt;BR /&gt;
   TableObj.Layer = mLayer&lt;BR /&gt;
   TableObj.Linetype = mLinetype&lt;BR /&gt;
   TableObj.LinetypeScale = mLinetypeScale&lt;BR /&gt;
   TableObj.Lineweight = mLineweight&lt;BR /&gt;
   TableObj.StyleName = mStyleName&lt;BR /&gt;
   TableObj.TitleSuppressed = mTitleSuppressed&lt;BR /&gt;
   TableObj.VertCellMargin = mVertCellMargin&lt;BR /&gt;
   TableObj.Visible = mVisible&lt;BR /&gt;
   TableObj.Width = mWidth&lt;BR /&gt;
   &lt;BR /&gt;
   Dim i As Integer, j As Integer, k As Integer, h As Integer&lt;BR /&gt;
   k = 0&lt;BR /&gt;
   For i = 0 To mColumns - 1&lt;BR /&gt;
      For j = 0 To mRows - 1&lt;BR /&gt;
         If CStr(mCellText(k)) &amp;lt;&amp;gt; "" Then&lt;BR /&gt;
            TableObj.SetText j, i, CStr(mCellText(k))&lt;BR /&gt;
         End If&lt;BR /&gt;
         TableObj.SetCellAlignment j, i, mCellAlignment(k)&lt;BR /&gt;
         If mCellBackgroundColorNone(k) = False Then&lt;BR /&gt;
            TableObj.SetCellBackgroundColor j, i, mCellBackgroundColor(k).SetCI_Color&lt;BR /&gt;
            TableObj.SetCellBackgroundColorNone j, i, False&lt;BR /&gt;
         End If&lt;BR /&gt;
         If Not (mCellContentColor(k).ColorID = "" And mCellContentColor(k).ColorType = "" And mCellContentColor(k).PaletteName = "") Then&lt;BR /&gt;
            TableObj.SetCellContentColor j, i, mCellContentColor(k).SetCI_Color&lt;BR /&gt;
         End If&lt;BR /&gt;
         If Not (mCellGridColor(h).ColorID = "" And mCellGridColor(h).ColorType = "" And mCellGridColor(h).PaletteName = "") Then&lt;BR /&gt;
            TableObj.SetCellGridColor j, i, 4, mCellGridColor(h).SetCI_Color&lt;BR /&gt;
         End If&lt;BR /&gt;
         If Not (mCellGridColor(h + 1).ColorID = "" And mCellGridColor(h + 1).ColorType = "" And mCellGridColor(h + 1).PaletteName = "") Then&lt;BR /&gt;
            TableObj.SetCellGridColor j, i, 8, mCellGridColor(h + 1).SetCI_Color&lt;BR /&gt;
         End If&lt;BR /&gt;
         If Not (mCellGridColor(h + 2).ColorID = "" And mCellGridColor(h + 2).ColorType = "" And mCellGridColor(h + 2).PaletteName = "") Then&lt;BR /&gt;
            TableObj.SetCellGridColor j, i, 2, mCellGridColor(h + 2).SetCI_Color&lt;BR /&gt;
         End If&lt;BR /&gt;
         If Not (mCellGridColor(h + 3).ColorID = "" And mCellGridColor(h + 3).ColorType = "" And mCellGridColor(h + 3).PaletteName = "") Then&lt;BR /&gt;
            TableObj.SetCellGridColor j, i, 1, mCellGridColor(h + 3).SetCI_Color&lt;BR /&gt;
         End If&lt;BR /&gt;
         TableObj.SetCellGridLineWeight j, i, 0, mCellGridLineweight(h)&lt;BR /&gt;
         TableObj.SetCellGridLineWeight j, i, 1, mCellGridLineweight(h + 1)&lt;BR /&gt;
         TableObj.SetCellGridLineWeight j, i, 2, mCellGridLineweight(h + 2)&lt;BR /&gt;
         TableObj.SetCellGridLineWeight j, i, 3, mCellGridLineweight(h + 3)&lt;BR /&gt;
         TableObj.SetCellGridVisibility j, i, 0, mCellGridVisibility(h)&lt;BR /&gt;
         TableObj.SetCellGridVisibility j, i, 1, mCellGridVisibility(h + 1)&lt;BR /&gt;
         TableObj.SetCellGridVisibility j, i, 2, mCellGridVisibility(h + 2)&lt;BR /&gt;
         TableObj.SetCellGridVisibility j, i, 3, mCellGridVisibility(h + 3)&lt;BR /&gt;
         TableObj.SetCellTextHeight j, i, mCellTextHeight(k)&lt;BR /&gt;
         TableObj.SetCellType j, i, mCellType(k)&lt;BR /&gt;
         TableObj.SetTextRotation j, i, mCellTextRotation(k)&lt;BR /&gt;
         If mCellBlockID(k) &amp;lt;&amp;gt; 0 Then&lt;BR /&gt;
            TableObj.SetBlockTableRecordId j, i, mCellBlockID(k), True&lt;BR /&gt;
            TableObj.SetBlockScale j, i, mCellBlockScale(k)&lt;BR /&gt;
            TableObj.SetBlockRotation j, i, mCellBlockRotation(k)&lt;BR /&gt;
         End If&lt;BR /&gt;
         TableObj.SetFieldId j, i, mCellFieldID(k)&lt;BR /&gt;
         &lt;BR /&gt;
         'mCellBlockAttributeValue (k) = TableObj.GetBlockAttributeValue(j,i,)&lt;BR /&gt;
   &lt;BR /&gt;
         k = k + 1&lt;BR /&gt;
         h = h + 4&lt;BR /&gt;
         If mRowHeight(j) &amp;lt;&amp;gt; "" Then&lt;BR /&gt;
            TableObj.SetRowHeight j, CInt(mRowHeight(j))&lt;BR /&gt;
         End If&lt;BR /&gt;
      Next j&lt;BR /&gt;
      TableObj.SetColumnWidth i, mColumnWidth(i)&lt;BR /&gt;
   Next i&lt;BR /&gt;
   &lt;BR /&gt;
End Function&lt;BR /&gt;
&lt;BR /&gt;
Public Function Read(ByVal Handle As String) As Boolean&lt;BR /&gt;
   &lt;BR /&gt;
   Dim TableObj As AcadTable&lt;BR /&gt;
   Set TableObj = ThisDrawing.HandleToObject(Handle)&lt;BR /&gt;
   &lt;BR /&gt;
   mSpaceType = ThisDrawing.ObjectIdToObject(TableObj.OwnerID).Name&lt;BR /&gt;
   mHandle = TableObj.Handle&lt;BR /&gt;
   mInsertionPoint = TableObj.InsertionPoint&lt;BR /&gt;
   mRows = TableObj.Rows&lt;BR /&gt;
   mColumns = TableObj.Columns&lt;BR /&gt;
   Hyperlink.GetHyperlink TableObj&lt;BR /&gt;
   Color.GetCI_Color TableObj.TrueColor&lt;BR /&gt;
   mDirection = TableObj.Direction&lt;BR /&gt;
   mFlowDirection = TableObj.FlowDirection&lt;BR /&gt;
   mHeaderSuppressed = TableObj.HeaderSuppressed&lt;BR /&gt;
   mHeight = TableObj.Height&lt;BR /&gt;
   mHorzCellMargin = TableObj.HorzCellMargin&lt;BR /&gt;
   mLayer = TableObj.Layer&lt;BR /&gt;
   mLinetype = TableObj.Linetype&lt;BR /&gt;
   mLinetypeScale = TableObj.LinetypeScale&lt;BR /&gt;
   mLineweight = TableObj.Lineweight&lt;BR /&gt;
   mStyleName = TableObj.StyleName&lt;BR /&gt;
   mTitleSuppressed = TableObj.TitleSuppressed&lt;BR /&gt;
   mVertCellMargin = TableObj.VertCellMargin&lt;BR /&gt;
   mVisible = TableObj.Visible&lt;BR /&gt;
   mWidth = TableObj.Width&lt;BR /&gt;
   &lt;BR /&gt;
   Dim i As Integer, j As Integer, k As Integer, h As Integer&lt;BR /&gt;
   k = 0: h = 0&lt;BR /&gt;
   ReDim mCellText(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellAlignment(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellBackgroundColor(0 To (mRows * mColumns)) As New CI_Color&lt;BR /&gt;
   ReDim mCellBackgroundColorNone(0 To (mRows * mColumns)) ' As Boolean&lt;BR /&gt;
   ReDim mCellContentColor(0 To (mRows * mColumns)) As New CI_Color&lt;BR /&gt;
   ReDim mCellGridColor(0 To (mRows * mColumns) * 4) As New CI_Color&lt;BR /&gt;
   ReDim mCellGridLineweight(0 To (mRows * mColumns) * 4)&lt;BR /&gt;
   ReDim mCellGridVisibility(0 To (mRows * mColumns) * 4) ' As Boolean&lt;BR /&gt;
   ReDim mCellTextHeight(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellStyleOverrides(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellTextRotation(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellType(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellBlockID(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellBlockScale(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellBlockRotation(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellBlockAttributeValue(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellFieldID(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mRowHeight(0 To mRows)&lt;BR /&gt;
   ReDim mColumnWidth(0 To mColumns)&lt;BR /&gt;
   Dim u As Integer&lt;BR /&gt;
   For i = 0 To mColumns - 1&lt;BR /&gt;
      For j = 0 To mRows - 1&lt;BR /&gt;
         If TableObj.GetCellType(j, i) = acTextCell Then&lt;BR /&gt;
            mCellText(k) = CStr(TableObj.GetText(j, i))&lt;BR /&gt;
            mCellAlignment(k) = TableObj.GetCellAlignment(j, i)&lt;BR /&gt;
         End If&lt;BR /&gt;
         If TableObj.GetCellBackgroundColorNone(j, i) = False Then&lt;BR /&gt;
            mCellBackgroundColor(k).GetCI_Color TableObj.GetCellBackgroundColor(j, i)&lt;BR /&gt;
            mCellBackgroundColorNone(k) = TableObj.GetCellBackgroundColorNone(j, i)&lt;BR /&gt;
         Else&lt;BR /&gt;
            mCellBackgroundColorNone(k) = TableObj.GetCellBackgroundColorNone(j, i)&lt;BR /&gt;
         End If&lt;BR /&gt;
         &lt;BR /&gt;
         If Not (TableObj.GetCellContentColor(j, i).Blue = 0 And TableObj.GetCellContentColor(j, i).Red = 0 And TableObj.GetCellContentColor(j, i).Green = 0 And TableObj.GetCellContentColor(j, i).ColorIndex = 0 And TableObj.GetCellContentColor(j, i).BookName = "") Then&lt;BR /&gt;
            mCellContentColor(k).GetCI_Color TableObj.GetCellContentColor(j, i)&lt;BR /&gt;
         End If&lt;BR /&gt;
         &lt;BR /&gt;
         If Not (TableObj.GetCellGridColor(j, i, acBottomMask).Blue = 0 And TableObj.GetCellGridColor(j, i, acBottomMask).Red = 0 And TableObj.GetCellGridColor(j, i, acBottomMask).Green = 0 And TableObj.GetCellContentColor(j, i).ColorIndex = 0 And TableObj.GetCellContentColor(j, i).BookName = "") Then&lt;BR /&gt;
            mCellGridColor(h).GetCI_Color TableObj.GetCellGridColor(j, i, acBottomMask)&lt;BR /&gt;
         End If&lt;BR /&gt;
         &lt;BR /&gt;
         If Not (TableObj.GetCellGridColor(j, i, acLeftMask).Blue = 0 And TableObj.GetCellGridColor(j, i, acLeftMask).Red = 0 And TableObj.GetCellGridColor(j, i, acLeftMask).Green = 0 And TableObj.GetCellGridColor(j, i, acLeftMask).ColorIndex = 0 And TableObj.GetCellGridColor(j, i, acLeftMask).BookName = "") Then&lt;BR /&gt;
            mCellGridColor(h + 1).GetCI_Color TableObj.GetCellGridColor(j, i, acLeftMask)&lt;BR /&gt;
         End If&lt;BR /&gt;
         &lt;BR /&gt;
         If Not (TableObj.GetCellGridColor(j, i, acRightMask).Blue = 0 And TableObj.GetCellGridColor(j, i, acRightMask).Red = 0 And TableObj.GetCellGridColor(j, i, acRightMask).Green = 0 And TableObj.GetCellGridColor(j, i, acRightMask).ColorIndex = 0 And TableObj.GetCellGridColor(j, i, acRightMask).BookName = "") Then&lt;BR /&gt;
            mCellGridColor(h + 2).GetCI_Color TableObj.GetCellGridColor(j, i, acRightMask)&lt;BR /&gt;
         End If&lt;BR /&gt;
         &lt;BR /&gt;
         If Not (TableObj.GetCellGridColor(j, i, acTopMask).Blue = 0 And TableObj.GetCellGridColor(j, i, acTopMask).Red = 0 And TableObj.GetCellGridColor(j, i, acTopMask).Green = 0 And TableObj.GetCellGridColor(j, i, acTopMask).ColorIndex = 0 And TableObj.GetCellGridColor(j, i, acTopMask).BookName = "") Then&lt;BR /&gt;
            mCellGridColor(h + 3).GetCI_Color TableObj.GetCellGridColor(j, i, acTopMask)&lt;BR /&gt;
         End If&lt;BR /&gt;
         mCellGridLineweight(h) = TableObj.GetCellGridLineWeight(j, i, acBottomMask)&lt;BR /&gt;
         mCellGridLineweight(h + 1) = TableObj.GetCellGridLineWeight(j, i, acLeftMask)&lt;BR /&gt;
         mCellGridLineweight(h + 2) = TableObj.GetCellGridLineWeight(j, i, acRightMask)&lt;BR /&gt;
         mCellGridLineweight(h + 3) = TableObj.GetCellGridLineWeight(j, i, acTopMask)&lt;BR /&gt;
         mCellGridVisibility(h) = TableObj.GetCellGridVisibility(j, i, acBottomMask)&lt;BR /&gt;
         mCellGridVisibility(h + 1) = TableObj.GetCellGridVisibility(j, i, acLeftMask)&lt;BR /&gt;
         mCellGridVisibility(h + 2) = TableObj.GetCellGridVisibility(j, i, acRightMask)&lt;BR /&gt;
         mCellGridVisibility(h + 3) = TableObj.GetCellGridVisibility(j, i, acTopMask)&lt;BR /&gt;
         mCellTextHeight(k) = TableObj.GetCellTextHeight(j, i)&lt;BR /&gt;
         mCellStyleOverrides(k) = TableObj.GetCellStyleOverrides(j, i)&lt;BR /&gt;
         mCellType(k) = TableObj.GetCellType(j, i)&lt;BR /&gt;
         mCellTextRotation(k) = TableObj.GetTextRotation(j, i)&lt;BR /&gt;
         mCellBlockID(k) = TableObj.GetBlockTableRecordId(j, i)&lt;BR /&gt;
         mCellBlockScale(k) = TableObj.GetBlockScale(j, i)&lt;BR /&gt;
         mCellBlockRotation(k) = TableObj.GetBlockRotation(j, i)&lt;BR /&gt;
         'mCellBlockAttributeValue (k) = TableObj.GetBlockAttributeValue(j,i,&lt;BR /&gt;
         mCellFieldID(k) = TableObj.GetFieldId(j, i)&lt;BR /&gt;
         k = k + 1&lt;BR /&gt;
         h = h + 4&lt;BR /&gt;
         mRowHeight(j) = TableObj.GetRowHeight(j)&lt;BR /&gt;
      Next j&lt;BR /&gt;
      mColumnWidth(i) = TableObj.GetColumnWidth(i)&lt;BR /&gt;
   Next i&lt;BR /&gt;
   &lt;BR /&gt;
End Function&lt;BR /&gt;
&lt;BR /&gt;
Public Function GetCellBackgroundColor(ByVal Index As Integer) As CI_Color&lt;BR /&gt;
   &lt;BR /&gt;
   GetCellBackgroundColor = mCellBackgroundColor(Index)&lt;BR /&gt;
   &lt;BR /&gt;
End Function&lt;BR /&gt;
&lt;BR /&gt;
Public Function GetCellContentColor(ByVal Index As Integer) As CI_Color&lt;BR /&gt;
   &lt;BR /&gt;
   GetCellContentColor = mCellContentColor(Index)&lt;BR /&gt;
   &lt;BR /&gt;
End Function&lt;BR /&gt;
&lt;BR /&gt;
Public Function GetCellGridColor(ByVal Index As Integer) As CI_Color&lt;BR /&gt;
   &lt;BR /&gt;
   GetCellGridColor = mCellGridColor(Index)&lt;BR /&gt;
   &lt;BR /&gt;
End Function</description>
    <pubDate>Wed, 24 Aug 2005 16:36:04 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2005-08-24T16:36:04Z</dc:date>
    <item>
      <title>VBA documentation</title>
      <link>https://forums.autodesk.com/t5/vba-forum/vba-documentation/m-p/1413767#M41253</link>
      <description>Hi All,&lt;BR /&gt;
&lt;BR /&gt;
I am used to program AutoCAD in VBA/VB. But I may have to work with 2005 or &lt;BR /&gt;
2006, using the tables. I had a look at the developper documentation. I must &lt;BR /&gt;
say it is quite poor: very small descriptions, and don't expect to learn &lt;BR /&gt;
from the examples. Is there somewhere a very good reference for ActiveX, &lt;BR /&gt;
preferably in electronic form ? Books can be backordered, but downlaods are &lt;BR /&gt;
not&lt;BR /&gt;
&lt;BR /&gt;
Thanks&lt;BR /&gt;
&lt;BR /&gt;
Gilles</description>
      <pubDate>Tue, 23 Aug 2005 23:30:13 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/vba-documentation/m-p/1413767#M41253</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-08-23T23:30:13Z</dc:date>
    </item>
    <item>
      <title>Re: VBA documentation</title>
      <link>https://forums.autodesk.com/t5/vba-forum/vba-documentation/m-p/1413768#M41254</link>
      <description>Unfortunatly not.  I have made them work, but no electronic documentation exists for them.  The best advice I can tell you is that it has been well programmed, thus making programming Tables pretty instinctive.&lt;BR /&gt;
&lt;BR /&gt;
Guidelines I can give you are to look at the Excel object model for a sheet, since it is almost equivalent to Tables in AutoCAD.  &lt;BR /&gt;
&lt;BR /&gt;
The only limitation I have found is that you cannot realy manage Merged cells, tought you can merge them in VBA.  The only way to get a mapping of all merged cells is to query all possible cell combinaison and Call the IsMergedCell function.....  and if you are any good in math, you know that this can be a very resource costly procedure.&lt;BR /&gt;
&lt;BR /&gt;
The rest of the Table object works like a charm....  but keep in mind that the developper documentation is not only "quite poor", but incomplete and erronous.  The only help I have found were code snippets from the web.......&lt;BR /&gt;
&lt;BR /&gt;
Hope this helps....  I will try to find you some code to start you with...</description>
      <pubDate>Wed, 24 Aug 2005 16:30:45 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/vba-documentation/m-p/1413768#M41254</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-08-24T16:30:45Z</dc:date>
    </item>
    <item>
      <title>Re: VBA documentation</title>
      <link>https://forums.autodesk.com/t5/vba-forum/vba-documentation/m-p/1413769#M41255</link>
      <description>Here is a class module that can reproduce Tables.  Look at the Create and Read function that shows exactly, as mutch as possible, to extract and recreate a Table.&lt;BR /&gt;
(Paste this in a new Class named "Ci_Table")&lt;BR /&gt;
&lt;BR /&gt;
'***********************************************************************&lt;BR /&gt;
' Module:  Ci_Table.cls&lt;BR /&gt;
' Author:  jgay&lt;BR /&gt;
' Modified: April 28, 2005 1:02:53 PM&lt;BR /&gt;
' Purpose: &lt;BR /&gt;
' Comment:&lt;BR /&gt;
'          A table drawned in AutoCAD&lt;BR /&gt;
'          This class supports tables for every property except for merged cells.&lt;BR /&gt;
'          All cell-specific property is contained in an array&lt;BR /&gt;
'          ------------------------------------------------------------------&lt;BR /&gt;
'          A change is required in the VB6 definition in PowerDesigner&lt;BR /&gt;
'          In the "Object language property" window, click on:&lt;BR /&gt;
'          Profile&lt;BR /&gt;
'          Attribute&lt;BR /&gt;
'          Templates&lt;BR /&gt;
'          definition&lt;BR /&gt;
'          The 2 second entries need the "DIM" removed from them.&lt;BR /&gt;
'***********************************************************************&lt;BR /&gt;
&lt;BR /&gt;
VERSION 1.0 CLASS&lt;BR /&gt;
BEGIN&lt;BR /&gt;
  MultiUse            = -1 'True&lt;BR /&gt;
  Persistable         =  0 'NotPersistable&lt;BR /&gt;
  DataBindingBehavior =  0 'vbNone&lt;BR /&gt;
  DataSourceBehavior  =  0 'vbNone&lt;BR /&gt;
  MTSTransactionMode  =  0 'NotAnMTSObject&lt;BR /&gt;
END&lt;BR /&gt;
Attribute VB_Name            = "Ci_Table"&lt;BR /&gt;
Attribute VB_GlobalNameSpace = False&lt;BR /&gt;
Attribute VB_Creatable       = True&lt;BR /&gt;
Attribute VB_Exposed         = False&lt;BR /&gt;
Attribute VB_PredeclaredId   = False&lt;BR /&gt;
&lt;BR /&gt;
Option Explicit&lt;BR /&gt;
&lt;BR /&gt;
' Attributes&lt;BR /&gt;
' Specifies the columns in the Table&lt;BR /&gt;
Private mColumns As Integer&lt;BR /&gt;
' Sets the uniform column width for all the columns in the table.&lt;BR /&gt;
Private mColumnWidth As Variant&lt;BR /&gt;
' Specifies the direction vector of the table&lt;BR /&gt;
Private mDirection As Variant&lt;BR /&gt;
' Specifies the Table flow direction&lt;BR /&gt;
Private mFlowDirection As Long&lt;BR /&gt;
' Returns and sets the header suppressed flag value.&lt;BR /&gt;
Private mHeaderSuppressed As Boolean&lt;BR /&gt;
' Specifies the Table height&lt;BR /&gt;
Private mHeight As Double&lt;BR /&gt;
' Specifies the horizontal distance between text and edge of cell&lt;BR /&gt;
Private mHorzCellMargin As Double&lt;BR /&gt;
' Specifies the insertion point of the table&lt;BR /&gt;
Private mInsertionPoint As Variant&lt;BR /&gt;
' Specifies the current layer of the object&lt;BR /&gt;
Private mLayer As String&lt;BR /&gt;
' Specifies the current linetype of the object&lt;BR /&gt;
Private mLinetype As String&lt;BR /&gt;
' Specifies the linetype scale factor of the object&lt;BR /&gt;
Private mLinetypeScale As ACAD_NOUNITS&lt;BR /&gt;
' Specifies the lineweight for the object&lt;BR /&gt;
Private mLineweight As ACAD_LWEIGHT&lt;BR /&gt;
' Sets the uniform row height for all the rows in the table.&lt;BR /&gt;
Private mRowHeight As Variant&lt;BR /&gt;
' Specifies the rows in the Table&lt;BR /&gt;
Private mRows As Integer&lt;BR /&gt;
' Specifies the style name of the Table&lt;BR /&gt;
Private mStyleName As String&lt;BR /&gt;
' Returns and sets the title suppressed flag value.&lt;BR /&gt;
Private mTitleSuppressed As Boolean&lt;BR /&gt;
' Specifies the vertical distance between text and edge of cell&lt;BR /&gt;
Private mVertCellMargin As Double&lt;BR /&gt;
' Specifies the visibility of an object or the application&lt;BR /&gt;
Private mVisible As Boolean&lt;BR /&gt;
' Specifies the Table width&lt;BR /&gt;
Private mWidth As Double&lt;BR /&gt;
' ' Specifies the space type of the document ex; ModelSpace, PaperSpace and Block Name.&lt;BR /&gt;
Private mSpaceType As String&lt;BR /&gt;
' ' Returns an array containing a sequence of values in the Table, starting with cell 1, 1 -- 1, 2 -- 1, 3 -- 2, 1 -- 2, 2 -- 2, 3 -- 3, 1 and so on....&lt;BR /&gt;
Private mCellText() As Variant&lt;BR /&gt;
Private mCellAlignment() As Variant&lt;BR /&gt;
Private mCellBackgroundColorNone() As Variant&lt;BR /&gt;
Private mCellGridLineweight() As Variant&lt;BR /&gt;
Private mCellGridVisibility() As Variant&lt;BR /&gt;
Private mCellTextHeight() As Variant&lt;BR /&gt;
Private mCellStyleOverrides() As Variant&lt;BR /&gt;
Private mCellType() As Variant&lt;BR /&gt;
Private mCellTextRotation() As Variant&lt;BR /&gt;
Private mCellBlockID() As Variant&lt;BR /&gt;
Private mCellBlockScale() As Variant&lt;BR /&gt;
Private mCellBlockRotation() As Variant&lt;BR /&gt;
Private mCellBlockAttributeValue() As Variant&lt;BR /&gt;
Private mCellFieldID() As Variant&lt;BR /&gt;
Private mOutputXML As String&lt;BR /&gt;
Private mCellBackgroundColor() As New CI_Color&lt;BR /&gt;
Private mCellContentColor() As New CI_Color&lt;BR /&gt;
Private mCellGridColor() As New CI_Color&lt;BR /&gt;
Private mHandle As String&lt;BR /&gt;
' Assigns a hyperlink to an object and displays the hyperlink name or description (if one is specified)&lt;BR /&gt;
Public Hyperlink As New CI_Hyperlink&lt;BR /&gt;
' Returns the true color of the object.&lt;BR /&gt;
Public Color As New CI_Color&lt;BR /&gt;
Public XRecord As New Ci_XRecord&lt;BR /&gt;
&lt;BR /&gt;
' Properties&lt;BR /&gt;
Public Property Get Columns() As Integer&lt;BR /&gt;
   Columns = mColumns&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Columns(ByVal newColumns As Integer)&lt;BR /&gt;
   mColumns = newColumns&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get ColumnWidth() As Variant&lt;BR /&gt;
   ColumnWidth = mColumnWidth&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let ColumnWidth(ByVal newColumnWidth As Variant)&lt;BR /&gt;
   mColumnWidth = newColumnWidth&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Direction() As Variant&lt;BR /&gt;
   Direction = mDirection&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Direction(ByVal newDirection As Variant)&lt;BR /&gt;
   mDirection = newDirection&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get FlowDirection() As Long&lt;BR /&gt;
   FlowDirection = mFlowDirection&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let FlowDirection(ByVal newFlowDirection As Long)&lt;BR /&gt;
   mFlowDirection = newFlowDirection&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get HeaderSuppressed() As Boolean&lt;BR /&gt;
   HeaderSuppressed = mHeaderSuppressed&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let HeaderSuppressed(ByVal newHeaderSuppressed As Boolean)&lt;BR /&gt;
   mHeaderSuppressed = newHeaderSuppressed&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Height() As Double&lt;BR /&gt;
   Height = mHeight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Height(ByVal newHeight As Double)&lt;BR /&gt;
   mHeight = newHeight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get HorzCellMargin() As Double&lt;BR /&gt;
   HorzCellMargin = mHorzCellMargin&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let HorzCellMargin(ByVal newHorzCellMargin As Double)&lt;BR /&gt;
   mHorzCellMargin = newHorzCellMargin&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get InsertionPoint() As Variant&lt;BR /&gt;
   InsertionPoint = mInsertionPoint&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let InsertionPoint(ByVal newInsertionPoint As Variant)&lt;BR /&gt;
   mInsertionPoint = newInsertionPoint&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Layer() As String&lt;BR /&gt;
   Layer = mLayer&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Layer(ByVal newLayer As String)&lt;BR /&gt;
   mLayer = newLayer&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Linetype() As String&lt;BR /&gt;
   Linetype = mLinetype&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Linetype(ByVal newLinetype As String)&lt;BR /&gt;
   mLinetype = newLinetype&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get LinetypeScale() As ACAD_NOUNITS&lt;BR /&gt;
   LinetypeScale = mLinetypeScale&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let LinetypeScale(ByVal newLinetypeScale As ACAD_NOUNITS)&lt;BR /&gt;
   mLinetypeScale = newLinetypeScale&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Lineweight() As ACAD_LWEIGHT&lt;BR /&gt;
   Lineweight = mLineweight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Lineweight(ByVal newLineweight As ACAD_LWEIGHT)&lt;BR /&gt;
   mLineweight = newLineweight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get RowHeight() As Variant&lt;BR /&gt;
   RowHeight = mRowHeight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let RowHeight(ByVal newRowHeight As Variant)&lt;BR /&gt;
   mRowHeight = newRowHeight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Rows() As Integer&lt;BR /&gt;
   Rows = mRows&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Rows(ByVal newRows As Integer)&lt;BR /&gt;
   mRows = newRows&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get StyleName() As String&lt;BR /&gt;
   StyleName = mStyleName&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let StyleName(ByVal newStyleName As String)&lt;BR /&gt;
   mStyleName = newStyleName&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get TitleSuppressed() As Boolean&lt;BR /&gt;
   TitleSuppressed = mTitleSuppressed&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let TitleSuppressed(ByVal newTitleSuppressed As Boolean)&lt;BR /&gt;
   mTitleSuppressed = newTitleSuppressed&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get VertCellMargin() As Double&lt;BR /&gt;
   VertCellMargin = mVertCellMargin&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let VertCellMargin(ByVal newVertCellMargin As Double)&lt;BR /&gt;
   mVertCellMargin = newVertCellMargin&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Visible() As Boolean&lt;BR /&gt;
   Visible = mVisible&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Visible(ByVal newVisible As Boolean)&lt;BR /&gt;
   mVisible = newVisible&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get Width() As Double&lt;BR /&gt;
   Width = mWidth&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let Width(ByVal newWidth As Double)&lt;BR /&gt;
   mWidth = newWidth&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get SpaceType() As String&lt;BR /&gt;
   SpaceType = mSpaceType&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let SpaceType(ByVal newSpaceType As String)&lt;BR /&gt;
   mSpaceType = newSpaceType&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellText() As Variant&lt;BR /&gt;
   CellText = mCellText&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellText(ByVal newCellText As Variant)&lt;BR /&gt;
   mCellText = newCellText&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellAlignment() As Variant&lt;BR /&gt;
   CellAlignment = mCellAlignment&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellAlignment(ByVal newCellAlignment As Variant)&lt;BR /&gt;
   mCellAlignment = newCellAlignment&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellBackgroundColorNone() As Variant&lt;BR /&gt;
   CellBackgroundColorNone = mCellBackgroundColorNone&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellBackgroundColorNone(ByVal newCellBackgroundColorNone As Variant)&lt;BR /&gt;
   mCellBackgroundColorNone = newCellBackgroundColorNone&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellGridLineweight() As Variant&lt;BR /&gt;
   CellGridLineweight = mCellGridLineweight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellGridLineweight(ByVal newCellGridLineweight As Variant)&lt;BR /&gt;
   mCellGridLineweight = newCellGridLineweight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellGridVisibility() As Variant&lt;BR /&gt;
   CellGridVisibility = mCellGridVisibility&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellGridVisibility(ByVal newCellGridVisibility As Variant)&lt;BR /&gt;
   mCellGridVisibility = newCellGridVisibility&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellTextHeight() As Variant&lt;BR /&gt;
   CellTextHeight = mCellTextHeight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellTextHeight(ByVal newCellTextHeight As Variant)&lt;BR /&gt;
   mCellTextHeight = newCellTextHeight&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellStyleOverrides() As Variant&lt;BR /&gt;
   CellStyleOverrides = mCellStyleOverrides&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellStyleOverrides(ByVal newCellStyleOverrides As Variant)&lt;BR /&gt;
   mCellStyleOverrides = newCellStyleOverrides&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellType() As Variant&lt;BR /&gt;
   CellType = mCellType&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellType(ByVal newCellType As Variant)&lt;BR /&gt;
   mCellType = newCellType&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellTextRotation() As Variant&lt;BR /&gt;
   CellTextRotation = mCellTextRotation&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellTextRotation(ByVal newCellTextRotation As Variant)&lt;BR /&gt;
   mCellTextRotation = newCellTextRotation&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellBlockID() As Variant&lt;BR /&gt;
   CellBlockID = mCellBlockID&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellBlockID(ByVal newCellBlockID As Variant)&lt;BR /&gt;
   mCellBlockID = newCellBlockID&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellBlockScale() As Variant&lt;BR /&gt;
   CellBlockScale = mCellBlockScale&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellBlockScale(ByVal newCellBlockScale As Variant)&lt;BR /&gt;
   mCellBlockScale = newCellBlockScale&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellBlockRotation() As Variant&lt;BR /&gt;
   CellBlockRotation = mCellBlockRotation&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellBlockRotation(ByVal newCellBlockRotation As Variant)&lt;BR /&gt;
   mCellBlockRotation = newCellBlockRotation&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellBlockAttributeValue() As Variant&lt;BR /&gt;
   CellBlockAttributeValue = mCellBlockAttributeValue&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellBlockAttributeValue(ByVal newCellBlockAttributeValue As Variant)&lt;BR /&gt;
   mCellBlockAttributeValue = newCellBlockAttributeValue&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get CellFieldID() As Variant&lt;BR /&gt;
   CellFieldID = mCellFieldID&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Let CellFieldID(ByVal newCellFieldID As Variant)&lt;BR /&gt;
   mCellFieldID = newCellFieldID&lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
Public Property Get OutputXML() As String&lt;BR /&gt;
   &lt;BR /&gt;
   ' Handle=" &amp;amp; Chr(34) &amp;amp; mHandle &amp;amp; Chr(34) &amp;amp; _&lt;BR /&gt;
   &lt;BR /&gt;
   Dim i As Integer, j As Integer&lt;BR /&gt;
   &lt;BR /&gt;
   mOutputXML = "&lt;TABLE spacetype=" &amp;amp; Chr(34) &amp;amp; mSpaceType &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " colorid=" &amp;amp; Chr(34) &amp;amp; Color.ColorID &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " colortype=" &amp;amp; Chr(34) &amp;amp; Color.ColorType &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " palettename=" &amp;amp; Chr(34) &amp;amp; Color.PaletteName &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " url=" &amp;amp; Chr(34) &amp;amp; Hyperlink.URL &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " urldescription=" &amp;amp; Chr(34) &amp;amp; Hyperlink.URLDescription &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " urllocation=" &amp;amp; Chr(34) &amp;amp; Hyperlink.URLNamedLocation &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " insertionpointx=" &amp;amp; Chr(34) &amp;amp; mInsertionPoint(0) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " insertionpointy=" &amp;amp; Chr(34) &amp;amp; mInsertionPoint(1) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " insertionpointz=" &amp;amp; Chr(34) &amp;amp; mInsertionPoint(2) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " rows=" &amp;amp; Chr(34) &amp;amp; mRows &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " columns=" &amp;amp; Chr(34) &amp;amp; mColumns &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " directionx=" &amp;amp; Chr(34) &amp;amp; mDirection(0) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " directiony=" &amp;amp; Chr(34) &amp;amp; mDirection(1) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " directionz=" &amp;amp; Chr(34) &amp;amp; mDirection(2) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " flowdirection=" &amp;amp; Chr(34) &amp;amp; mFlowDirection &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " headersuppressed=" &amp;amp; Chr(34) &amp;amp; mHeaderSuppressed &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " height=" &amp;amp; Chr(34) &amp;amp; mHeight &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " horzcellmargin=" &amp;amp; Chr(34) &amp;amp; mHorzCellMargin &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " layer=" &amp;amp; Chr(34) &amp;amp; mLayer &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " linetype=" &amp;amp; Chr(34) &amp;amp; mLinetype &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " linetypescale=" &amp;amp; Chr(34) &amp;amp; mLinetypeScale &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " lineweight=" &amp;amp; Chr(34) &amp;amp; mLineweight &amp;amp; Chr(34)&amp;lt;BR&amp;gt;
   &amp;lt;BR&amp;gt;
   mOutputXML = mOutputXML &amp;amp; _&amp;lt;BR&amp;gt;
               " stylename=" &amp;amp; Chr(34) &amp;amp; mStyleName &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " titlesuppressed=" &amp;amp; Chr(34) &amp;amp; mTitleSuppressed &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " vertcellmargin=" &amp;amp; Chr(34) &amp;amp; mVertCellMargin &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " visible=" &amp;amp; Chr(34) &amp;amp; mVisible &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " width=" &amp;amp; Chr(34) &amp;amp; mWidth &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               "&gt;"&lt;BR /&gt;
               &lt;BR /&gt;
            For i = 0 To mRows - 1&lt;BR /&gt;
   mOutputXML = mOutputXML &amp;amp; _&lt;BR /&gt;
               " &lt;ROW rowheight=" &amp;amp; Chr(34) &amp;amp; mRowHeight(i) &amp;amp; Chr(34) &amp;amp; "&gt;"&lt;BR /&gt;
               For j = 0 To mColumns&lt;BR /&gt;
   mOutputXML = mOutputXML &amp;amp; " &lt;CELL celltext=" &amp;amp; Chr(34) &amp;amp; mCellText((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellalignment=" &amp;amp; Chr(34) &amp;amp; mCellAlignment((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellbackgroundcolorid=" &amp;amp; Chr(34) &amp;amp; mCellBackgroundColor((i * mColumns) + j).ColorID &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellbackgroundcolortype=" &amp;amp; Chr(34) &amp;amp; mCellBackgroundColor((i * mColumns) + j).ColorType &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellbackgroundpalettename=" &amp;amp; Chr(34) &amp;amp; mCellBackgroundColor((i * mColumns) + j).PaletteName &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellbackgroundcolornone=" &amp;amp; Chr(34) &amp;amp; mCellBackgroundColorNone((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellcontentcolorid=" &amp;amp; Chr(34) &amp;amp; mCellContentColor((i * mColumns) + j).ColorID &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellcontentcolortype=" &amp;amp; Chr(34) &amp;amp; mCellContentColor((i * mColumns) + j).ColorType &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellcontentpalettename=" &amp;amp; Chr(34) &amp;amp; mCellContentColor((i * mColumns) + j).PaletteName &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellgridcolorid=" &amp;amp; Chr(34) &amp;amp; mCellGridColor((i * mColumns) + j).ColorID &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellgridcolortype=" &amp;amp; Chr(34) &amp;amp; mCellGridColor((i * mColumns) + j).ColorType &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellgridpalettename=" &amp;amp; Chr(34) &amp;amp; mCellGridColor((i * mColumns) + j).PaletteName &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellgridlineweight=" &amp;amp; Chr(34) &amp;amp; mCellGridLineweight((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellgridvisibility=" &amp;amp; Chr(34) &amp;amp; mCellGridVisibility((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " celltextheight=" &amp;amp; Chr(34) &amp;amp; mCellTextHeight((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " celltextrotation=" &amp;amp; Chr(34) &amp;amp; mCellTextRotation((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellblockid=" &amp;amp; Chr(34) &amp;amp; mCellBlockID((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellblockscale=" &amp;amp; Chr(34) &amp;amp; mCellBlockScale((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellblockrotation=" &amp;amp; Chr(34) &amp;amp; mCellBlockRotation((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellblockattributevalue=" &amp;amp; Chr(34) &amp;amp; mCellBlockAttributeValue((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " cellfieldid=" &amp;amp; Chr(34) &amp;amp; mCellFieldID((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " celltype=" &amp;amp; Chr(34) &amp;amp; mCellType((i * mColumns) + j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               " columnwidth=" &amp;amp; Chr(34) &amp;amp; mColumnWidth(j) &amp;amp; Chr(34) &amp;amp; _&amp;lt;BR&amp;gt;
               "&gt;&lt;/CELL&gt;"&lt;BR /&gt;
   &lt;BR /&gt;
               Next j&lt;BR /&gt;
   mOutputXML = mOutputXML &amp;amp; " &lt;/ROW&gt;"&lt;BR /&gt;
            Next i&lt;BR /&gt;
               &lt;BR /&gt;
   mOutputXML = mOutputXML &amp;amp; " &lt;/TABLE&gt;"&lt;BR /&gt;
   &lt;BR /&gt;
   OutputXML = mOutputXML&lt;BR /&gt;
   &lt;BR /&gt;
End Property&lt;BR /&gt;
&lt;BR /&gt;
' Implements&lt;BR /&gt;
&lt;BR /&gt;
' Procedures&lt;BR /&gt;
Public Sub SetCellBackgroundColor(ByVal Index As Integer, ByVal ColorID As String, ByVal ColorType As String, ByVal PaletteName As String)&lt;BR /&gt;
   &lt;BR /&gt;
   ReDim Preserve mCellBackgroundColor(mRows * mColumns)&lt;BR /&gt;
   mCellBackgroundColor(Index).ColorID = ColorID&lt;BR /&gt;
   mCellBackgroundColor(Index).ColorType = ColorType&lt;BR /&gt;
   mCellBackgroundColor(Index).Palettename = Palettename&lt;BR /&gt;
   &lt;BR /&gt;
End Sub&lt;BR /&gt;
&lt;BR /&gt;
Public Sub SetCellContentColor(ByVal Index As Integer, ByVal ColorID As String, ByVal ColorType As String, ByVal PaletteName As String)&lt;BR /&gt;
   &lt;BR /&gt;
   ReDim Preserve mCellContentColor(mRows * mColumns)&lt;BR /&gt;
   mCellContentColor(Index).ColorID = ColorID&lt;BR /&gt;
   mCellContentColor(Index).ColorType = ColorType&lt;BR /&gt;
   mCellContentColor(Index).Palettename = Palettename&lt;BR /&gt;
   &lt;BR /&gt;
End Sub&lt;BR /&gt;
&lt;BR /&gt;
Public Sub SetCellGridColor(ByVal Index As Integer, ByVal ColorID As String, ByVal ColorType As String, ByVal PaletteName As String)&lt;BR /&gt;
   &lt;BR /&gt;
   ReDim Preserve mCellGridColor(mRows * mColumns)&lt;BR /&gt;
   mCellGridColor(Index).ColorID = ColorID&lt;BR /&gt;
   mCellGridColor(Index).ColorType = ColorType&lt;BR /&gt;
   mCellGridColor(Index).Palettename = Palettename&lt;BR /&gt;
   &lt;BR /&gt;
End Sub&lt;BR /&gt;
&lt;BR /&gt;
' Functions&lt;BR /&gt;
Public Function Create As Boolean&lt;BR /&gt;
   &lt;BR /&gt;
   Dim SpaceObj As IAcadBlock2&lt;BR /&gt;
   Dim TableObj As AcadTable&lt;BR /&gt;
   Set SpaceObj = ThisDrawing.Blocks(mSpaceType)&lt;BR /&gt;
   ReDim Preserve mCellText(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellAlignment(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellBackgroundColor(0 To (mRows * mColumns)) ' As New CI_Color&lt;BR /&gt;
   ReDim Preserve mCellBackgroundColorNone(0 To (mRows * mColumns)) ' As Boolean&lt;BR /&gt;
   ReDim Preserve mCellContentColor(0 To (mRows * mColumns)) ' As New CI_Color&lt;BR /&gt;
   ReDim Preserve mCellGridColor(0 To (mRows * mColumns) * 4) ' As New CI_Color&lt;BR /&gt;
   ReDim Preserve mCellGridLineweight(0 To (mRows * mColumns) * 4)&lt;BR /&gt;
   ReDim Preserve mCellGridVisibility(0 To (mRows * mColumns) * 4) ' As Boolean&lt;BR /&gt;
   ReDim Preserve mCellTextHeight(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellStyleOverrides(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellTextRotation(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellType(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellBlockID(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellBlockScale(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellBlockRotation(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellBlockAttributeValue(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mCellFieldID(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim Preserve mRowHeight(0 To mRows)&lt;BR /&gt;
   ReDim Preserve mColumnWidth(0 To mColumns)&lt;BR /&gt;
   &lt;BR /&gt;
   Set TableObj = SpaceObj.AddTable(mInsertionPoint, mRows, mColumns, mRowHeight(0), mColumnWidth(0))&lt;BR /&gt;
   &lt;BR /&gt;
   Hyperlink.SetHyperlink TableObj&lt;BR /&gt;
   TableObj.TrueColor = Color.SetCI_Color&lt;BR /&gt;
   TableObj.Direction = mDirection&lt;BR /&gt;
   TableObj.FlowDirection = mFlowDirection&lt;BR /&gt;
   TableObj.HeaderSuppressed = mHeaderSuppressed&lt;BR /&gt;
   TableObj.Height = mHeight&lt;BR /&gt;
   TableObj.HorzCellMargin = mHorzCellMargin&lt;BR /&gt;
   TableObj.Layer = mLayer&lt;BR /&gt;
   TableObj.Linetype = mLinetype&lt;BR /&gt;
   TableObj.LinetypeScale = mLinetypeScale&lt;BR /&gt;
   TableObj.Lineweight = mLineweight&lt;BR /&gt;
   TableObj.StyleName = mStyleName&lt;BR /&gt;
   TableObj.TitleSuppressed = mTitleSuppressed&lt;BR /&gt;
   TableObj.VertCellMargin = mVertCellMargin&lt;BR /&gt;
   TableObj.Visible = mVisible&lt;BR /&gt;
   TableObj.Width = mWidth&lt;BR /&gt;
   &lt;BR /&gt;
   Dim i As Integer, j As Integer, k As Integer, h As Integer&lt;BR /&gt;
   k = 0&lt;BR /&gt;
   For i = 0 To mColumns - 1&lt;BR /&gt;
      For j = 0 To mRows - 1&lt;BR /&gt;
         If CStr(mCellText(k)) &amp;lt;&amp;gt; "" Then&lt;BR /&gt;
            TableObj.SetText j, i, CStr(mCellText(k))&lt;BR /&gt;
         End If&lt;BR /&gt;
         TableObj.SetCellAlignment j, i, mCellAlignment(k)&lt;BR /&gt;
         If mCellBackgroundColorNone(k) = False Then&lt;BR /&gt;
            TableObj.SetCellBackgroundColor j, i, mCellBackgroundColor(k).SetCI_Color&lt;BR /&gt;
            TableObj.SetCellBackgroundColorNone j, i, False&lt;BR /&gt;
         End If&lt;BR /&gt;
         If Not (mCellContentColor(k).ColorID = "" And mCellContentColor(k).ColorType = "" And mCellContentColor(k).PaletteName = "") Then&lt;BR /&gt;
            TableObj.SetCellContentColor j, i, mCellContentColor(k).SetCI_Color&lt;BR /&gt;
         End If&lt;BR /&gt;
         If Not (mCellGridColor(h).ColorID = "" And mCellGridColor(h).ColorType = "" And mCellGridColor(h).PaletteName = "") Then&lt;BR /&gt;
            TableObj.SetCellGridColor j, i, 4, mCellGridColor(h).SetCI_Color&lt;BR /&gt;
         End If&lt;BR /&gt;
         If Not (mCellGridColor(h + 1).ColorID = "" And mCellGridColor(h + 1).ColorType = "" And mCellGridColor(h + 1).PaletteName = "") Then&lt;BR /&gt;
            TableObj.SetCellGridColor j, i, 8, mCellGridColor(h + 1).SetCI_Color&lt;BR /&gt;
         End If&lt;BR /&gt;
         If Not (mCellGridColor(h + 2).ColorID = "" And mCellGridColor(h + 2).ColorType = "" And mCellGridColor(h + 2).PaletteName = "") Then&lt;BR /&gt;
            TableObj.SetCellGridColor j, i, 2, mCellGridColor(h + 2).SetCI_Color&lt;BR /&gt;
         End If&lt;BR /&gt;
         If Not (mCellGridColor(h + 3).ColorID = "" And mCellGridColor(h + 3).ColorType = "" And mCellGridColor(h + 3).PaletteName = "") Then&lt;BR /&gt;
            TableObj.SetCellGridColor j, i, 1, mCellGridColor(h + 3).SetCI_Color&lt;BR /&gt;
         End If&lt;BR /&gt;
         TableObj.SetCellGridLineWeight j, i, 0, mCellGridLineweight(h)&lt;BR /&gt;
         TableObj.SetCellGridLineWeight j, i, 1, mCellGridLineweight(h + 1)&lt;BR /&gt;
         TableObj.SetCellGridLineWeight j, i, 2, mCellGridLineweight(h + 2)&lt;BR /&gt;
         TableObj.SetCellGridLineWeight j, i, 3, mCellGridLineweight(h + 3)&lt;BR /&gt;
         TableObj.SetCellGridVisibility j, i, 0, mCellGridVisibility(h)&lt;BR /&gt;
         TableObj.SetCellGridVisibility j, i, 1, mCellGridVisibility(h + 1)&lt;BR /&gt;
         TableObj.SetCellGridVisibility j, i, 2, mCellGridVisibility(h + 2)&lt;BR /&gt;
         TableObj.SetCellGridVisibility j, i, 3, mCellGridVisibility(h + 3)&lt;BR /&gt;
         TableObj.SetCellTextHeight j, i, mCellTextHeight(k)&lt;BR /&gt;
         TableObj.SetCellType j, i, mCellType(k)&lt;BR /&gt;
         TableObj.SetTextRotation j, i, mCellTextRotation(k)&lt;BR /&gt;
         If mCellBlockID(k) &amp;lt;&amp;gt; 0 Then&lt;BR /&gt;
            TableObj.SetBlockTableRecordId j, i, mCellBlockID(k), True&lt;BR /&gt;
            TableObj.SetBlockScale j, i, mCellBlockScale(k)&lt;BR /&gt;
            TableObj.SetBlockRotation j, i, mCellBlockRotation(k)&lt;BR /&gt;
         End If&lt;BR /&gt;
         TableObj.SetFieldId j, i, mCellFieldID(k)&lt;BR /&gt;
         &lt;BR /&gt;
         'mCellBlockAttributeValue (k) = TableObj.GetBlockAttributeValue(j,i,)&lt;BR /&gt;
   &lt;BR /&gt;
         k = k + 1&lt;BR /&gt;
         h = h + 4&lt;BR /&gt;
         If mRowHeight(j) &amp;lt;&amp;gt; "" Then&lt;BR /&gt;
            TableObj.SetRowHeight j, CInt(mRowHeight(j))&lt;BR /&gt;
         End If&lt;BR /&gt;
      Next j&lt;BR /&gt;
      TableObj.SetColumnWidth i, mColumnWidth(i)&lt;BR /&gt;
   Next i&lt;BR /&gt;
   &lt;BR /&gt;
End Function&lt;BR /&gt;
&lt;BR /&gt;
Public Function Read(ByVal Handle As String) As Boolean&lt;BR /&gt;
   &lt;BR /&gt;
   Dim TableObj As AcadTable&lt;BR /&gt;
   Set TableObj = ThisDrawing.HandleToObject(Handle)&lt;BR /&gt;
   &lt;BR /&gt;
   mSpaceType = ThisDrawing.ObjectIdToObject(TableObj.OwnerID).Name&lt;BR /&gt;
   mHandle = TableObj.Handle&lt;BR /&gt;
   mInsertionPoint = TableObj.InsertionPoint&lt;BR /&gt;
   mRows = TableObj.Rows&lt;BR /&gt;
   mColumns = TableObj.Columns&lt;BR /&gt;
   Hyperlink.GetHyperlink TableObj&lt;BR /&gt;
   Color.GetCI_Color TableObj.TrueColor&lt;BR /&gt;
   mDirection = TableObj.Direction&lt;BR /&gt;
   mFlowDirection = TableObj.FlowDirection&lt;BR /&gt;
   mHeaderSuppressed = TableObj.HeaderSuppressed&lt;BR /&gt;
   mHeight = TableObj.Height&lt;BR /&gt;
   mHorzCellMargin = TableObj.HorzCellMargin&lt;BR /&gt;
   mLayer = TableObj.Layer&lt;BR /&gt;
   mLinetype = TableObj.Linetype&lt;BR /&gt;
   mLinetypeScale = TableObj.LinetypeScale&lt;BR /&gt;
   mLineweight = TableObj.Lineweight&lt;BR /&gt;
   mStyleName = TableObj.StyleName&lt;BR /&gt;
   mTitleSuppressed = TableObj.TitleSuppressed&lt;BR /&gt;
   mVertCellMargin = TableObj.VertCellMargin&lt;BR /&gt;
   mVisible = TableObj.Visible&lt;BR /&gt;
   mWidth = TableObj.Width&lt;BR /&gt;
   &lt;BR /&gt;
   Dim i As Integer, j As Integer, k As Integer, h As Integer&lt;BR /&gt;
   k = 0: h = 0&lt;BR /&gt;
   ReDim mCellText(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellAlignment(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellBackgroundColor(0 To (mRows * mColumns)) As New CI_Color&lt;BR /&gt;
   ReDim mCellBackgroundColorNone(0 To (mRows * mColumns)) ' As Boolean&lt;BR /&gt;
   ReDim mCellContentColor(0 To (mRows * mColumns)) As New CI_Color&lt;BR /&gt;
   ReDim mCellGridColor(0 To (mRows * mColumns) * 4) As New CI_Color&lt;BR /&gt;
   ReDim mCellGridLineweight(0 To (mRows * mColumns) * 4)&lt;BR /&gt;
   ReDim mCellGridVisibility(0 To (mRows * mColumns) * 4) ' As Boolean&lt;BR /&gt;
   ReDim mCellTextHeight(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellStyleOverrides(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellTextRotation(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellType(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellBlockID(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellBlockScale(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellBlockRotation(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellBlockAttributeValue(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mCellFieldID(0 To (mRows * mColumns))&lt;BR /&gt;
   ReDim mRowHeight(0 To mRows)&lt;BR /&gt;
   ReDim mColumnWidth(0 To mColumns)&lt;BR /&gt;
   Dim u As Integer&lt;BR /&gt;
   For i = 0 To mColumns - 1&lt;BR /&gt;
      For j = 0 To mRows - 1&lt;BR /&gt;
         If TableObj.GetCellType(j, i) = acTextCell Then&lt;BR /&gt;
            mCellText(k) = CStr(TableObj.GetText(j, i))&lt;BR /&gt;
            mCellAlignment(k) = TableObj.GetCellAlignment(j, i)&lt;BR /&gt;
         End If&lt;BR /&gt;
         If TableObj.GetCellBackgroundColorNone(j, i) = False Then&lt;BR /&gt;
            mCellBackgroundColor(k).GetCI_Color TableObj.GetCellBackgroundColor(j, i)&lt;BR /&gt;
            mCellBackgroundColorNone(k) = TableObj.GetCellBackgroundColorNone(j, i)&lt;BR /&gt;
         Else&lt;BR /&gt;
            mCellBackgroundColorNone(k) = TableObj.GetCellBackgroundColorNone(j, i)&lt;BR /&gt;
         End If&lt;BR /&gt;
         &lt;BR /&gt;
         If Not (TableObj.GetCellContentColor(j, i).Blue = 0 And TableObj.GetCellContentColor(j, i).Red = 0 And TableObj.GetCellContentColor(j, i).Green = 0 And TableObj.GetCellContentColor(j, i).ColorIndex = 0 And TableObj.GetCellContentColor(j, i).BookName = "") Then&lt;BR /&gt;
            mCellContentColor(k).GetCI_Color TableObj.GetCellContentColor(j, i)&lt;BR /&gt;
         End If&lt;BR /&gt;
         &lt;BR /&gt;
         If Not (TableObj.GetCellGridColor(j, i, acBottomMask).Blue = 0 And TableObj.GetCellGridColor(j, i, acBottomMask).Red = 0 And TableObj.GetCellGridColor(j, i, acBottomMask).Green = 0 And TableObj.GetCellContentColor(j, i).ColorIndex = 0 And TableObj.GetCellContentColor(j, i).BookName = "") Then&lt;BR /&gt;
            mCellGridColor(h).GetCI_Color TableObj.GetCellGridColor(j, i, acBottomMask)&lt;BR /&gt;
         End If&lt;BR /&gt;
         &lt;BR /&gt;
         If Not (TableObj.GetCellGridColor(j, i, acLeftMask).Blue = 0 And TableObj.GetCellGridColor(j, i, acLeftMask).Red = 0 And TableObj.GetCellGridColor(j, i, acLeftMask).Green = 0 And TableObj.GetCellGridColor(j, i, acLeftMask).ColorIndex = 0 And TableObj.GetCellGridColor(j, i, acLeftMask).BookName = "") Then&lt;BR /&gt;
            mCellGridColor(h + 1).GetCI_Color TableObj.GetCellGridColor(j, i, acLeftMask)&lt;BR /&gt;
         End If&lt;BR /&gt;
         &lt;BR /&gt;
         If Not (TableObj.GetCellGridColor(j, i, acRightMask).Blue = 0 And TableObj.GetCellGridColor(j, i, acRightMask).Red = 0 And TableObj.GetCellGridColor(j, i, acRightMask).Green = 0 And TableObj.GetCellGridColor(j, i, acRightMask).ColorIndex = 0 And TableObj.GetCellGridColor(j, i, acRightMask).BookName = "") Then&lt;BR /&gt;
            mCellGridColor(h + 2).GetCI_Color TableObj.GetCellGridColor(j, i, acRightMask)&lt;BR /&gt;
         End If&lt;BR /&gt;
         &lt;BR /&gt;
         If Not (TableObj.GetCellGridColor(j, i, acTopMask).Blue = 0 And TableObj.GetCellGridColor(j, i, acTopMask).Red = 0 And TableObj.GetCellGridColor(j, i, acTopMask).Green = 0 And TableObj.GetCellGridColor(j, i, acTopMask).ColorIndex = 0 And TableObj.GetCellGridColor(j, i, acTopMask).BookName = "") Then&lt;BR /&gt;
            mCellGridColor(h + 3).GetCI_Color TableObj.GetCellGridColor(j, i, acTopMask)&lt;BR /&gt;
         End If&lt;BR /&gt;
         mCellGridLineweight(h) = TableObj.GetCellGridLineWeight(j, i, acBottomMask)&lt;BR /&gt;
         mCellGridLineweight(h + 1) = TableObj.GetCellGridLineWeight(j, i, acLeftMask)&lt;BR /&gt;
         mCellGridLineweight(h + 2) = TableObj.GetCellGridLineWeight(j, i, acRightMask)&lt;BR /&gt;
         mCellGridLineweight(h + 3) = TableObj.GetCellGridLineWeight(j, i, acTopMask)&lt;BR /&gt;
         mCellGridVisibility(h) = TableObj.GetCellGridVisibility(j, i, acBottomMask)&lt;BR /&gt;
         mCellGridVisibility(h + 1) = TableObj.GetCellGridVisibility(j, i, acLeftMask)&lt;BR /&gt;
         mCellGridVisibility(h + 2) = TableObj.GetCellGridVisibility(j, i, acRightMask)&lt;BR /&gt;
         mCellGridVisibility(h + 3) = TableObj.GetCellGridVisibility(j, i, acTopMask)&lt;BR /&gt;
         mCellTextHeight(k) = TableObj.GetCellTextHeight(j, i)&lt;BR /&gt;
         mCellStyleOverrides(k) = TableObj.GetCellStyleOverrides(j, i)&lt;BR /&gt;
         mCellType(k) = TableObj.GetCellType(j, i)&lt;BR /&gt;
         mCellTextRotation(k) = TableObj.GetTextRotation(j, i)&lt;BR /&gt;
         mCellBlockID(k) = TableObj.GetBlockTableRecordId(j, i)&lt;BR /&gt;
         mCellBlockScale(k) = TableObj.GetBlockScale(j, i)&lt;BR /&gt;
         mCellBlockRotation(k) = TableObj.GetBlockRotation(j, i)&lt;BR /&gt;
         'mCellBlockAttributeValue (k) = TableObj.GetBlockAttributeValue(j,i,&lt;BR /&gt;
         mCellFieldID(k) = TableObj.GetFieldId(j, i)&lt;BR /&gt;
         k = k + 1&lt;BR /&gt;
         h = h + 4&lt;BR /&gt;
         mRowHeight(j) = TableObj.GetRowHeight(j)&lt;BR /&gt;
      Next j&lt;BR /&gt;
      mColumnWidth(i) = TableObj.GetColumnWidth(i)&lt;BR /&gt;
   Next i&lt;BR /&gt;
   &lt;BR /&gt;
End Function&lt;BR /&gt;
&lt;BR /&gt;
Public Function GetCellBackgroundColor(ByVal Index As Integer) As CI_Color&lt;BR /&gt;
   &lt;BR /&gt;
   GetCellBackgroundColor = mCellBackgroundColor(Index)&lt;BR /&gt;
   &lt;BR /&gt;
End Function&lt;BR /&gt;
&lt;BR /&gt;
Public Function GetCellContentColor(ByVal Index As Integer) As CI_Color&lt;BR /&gt;
   &lt;BR /&gt;
   GetCellContentColor = mCellContentColor(Index)&lt;BR /&gt;
   &lt;BR /&gt;
End Function&lt;BR /&gt;
&lt;BR /&gt;
Public Function GetCellGridColor(ByVal Index As Integer) As CI_Color&lt;BR /&gt;
   &lt;BR /&gt;
   GetCellGridColor = mCellGridColor(Index)&lt;BR /&gt;
   &lt;BR /&gt;
End Function</description>
      <pubDate>Wed, 24 Aug 2005 16:36:04 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/vba-documentation/m-p/1413769#M41255</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-08-24T16:36:04Z</dc:date>
    </item>
    <item>
      <title>Re: VBA documentation</title>
      <link>https://forums.autodesk.com/t5/vba-forum/vba-documentation/m-p/1413770#M41256</link>
      <description>I couldn't attach the file...  Content type is not allowed...  probably code.....!?!</description>
      <pubDate>Wed, 24 Aug 2005 16:38:11 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/vba-forum/vba-documentation/m-p/1413770#M41256</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2005-08-24T16:38:11Z</dc:date>
    </item>
  </channel>
</rss>

