- 积分
- 73549
- 明经币
- 个
- 注册时间
- 2001-6-7
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
- '有关表格的VBA编程
- '生成表格,填写文字并设置框线宽度 '以下例子生成一个3行4列的表格,并将第二行和第三行的4列各合并成一列
- Sub mcAddTabel()
- Dim Table As AcadTable
- Dim InsertionPoint As Variant
- InsertionPoint = ThisDrawing.Utility.GetPoint(, vbCrLf & "请选择表格插入点:")
- Dim NumRows As Double, NumColumns As Double, _
- RowHeight As Double, Colwidth As Double
- NumRows = 3: NumColumns = 4 '行数和列数
- RowHeight = 10: Colwidth = 25 '行高及列宽
- Set Table = ThisDrawing.ModelSpace.AddTable _
- (InsertionPoint, NumRows, NumColumns, RowHeight, Colwidth)
- '取消原先表格格式中的首行合并
- Table.UnmergeCells 0, 0, 0, 3 '按顺序为合并的起始行号、结束行号、起始列号、结束列号
- '将第二行的三列合并成一列
- Table.MergeCells 1, 1, 0, 3 '按顺序为合并的起始行号、结束行号、起始列号、结束列号
- Table.MergeCells 2, 2, 0, 3
- '在表格中写入文字
- Table.SetText 0, 0, "{\fSimSun|b0|i0|c134|p2;明}"
- Table.SetText 0, 1, "{\fSimSun|b0|i0|c134|p2;经}"
- Table.SetText 0, 2, "{\fSimSun|b0|i0|c134|p2;通}"
- Table.SetText 0, 3, "{\fSimSun|b0|i0|c134|p2;道}"
- Table.SetText 1, 0, "{\fSimSun|b0|i0|c134|p2;VBA编程技术}"
- Table.SetText 2, 0, "{\fSimSun|b0|i0|c134|p2;%<\AcVar Date \f ""yyyy年M月d日"">%}"
- '设置表外框线宽度,宽度的设置有点麻烦,因为表格被分成三个功能部分 _
- 最顶一行为标题行(acTitleRow),第二行为行头(acHeaderRow) _
- 剩下的就是数据行(acDataRow)了,而这三种都必须单独设置
- ThisDrawing.SetVariable "LWDISPLAY", 1
- Table.SetGridLineWeight acHorzTop + acVertLeft + acVertRight, _
- acTitleRow, acLnWt050
- Table.SetGridLineWeight acHorzBottom + acVertLeft + acVertRight, _
- acDataRow, acLnWt050
- Table.SetGridLineWeight acVertLeft + acVertRight, _
- acHeaderRow, acLnWt050
- End Sub
生成的表格如下图:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|