OfficeVba/docx/TSDocxRows.tsf

161 lines
4.6 KiB
Plaintext

Type TSDocxRows = Class(TSVbaBase)
Uses TSDocxEnumerations;
public
Function Init(table);
Function Operator[](index);
private
table_;
public
Function Add(BeforeRow);
Function ConvertToText(Separator, NestedTables);
Function Delete();
Function DistributeHeight();
Function Item(Index);
Function Select();
Function SetHeight(RowHeight, HeightRule);
Function SetLeftIndent(LeftIndent, RulerStyle);
property Alignment read ReadAlignment write WriteAlignment;
property AllowBreakAcrossPages read ReadAllowBreakAcrossPages write WriteAllowBreakAcrossPages;
property AllowOverlap read ReadAllowOverlap write WriteAllowOverlap;
property Borders read ReadBorders;
property Count read ReadCount;
property DistanceBottom read ReadDistanceBottom write WriteDistanceBottom;
property DistanceLeft read ReadDistanceLeft write WriteDistanceLeft;
property DistanceRight read ReadDistanceRight write WriteDistanceRight;
property DistanceTop read ReadDistanceTop write WriteDistanceTop;
property First read ReadFirst;
property HeadingFormat read ReadHeadingFormat write WriteHeadingFormat;
property Height read ReadHeight write WriteHeight;
property HeightRule read ReadHeightRule write WriteHeightRule;
property HorizontalPosition read ReadHorizontalPosition write WriteHorizontalPosition;
property Last read ReadLast;
property LeftIndent read ReadLeftIndent write WriteLeftIndent;
property NestingLevel read ReadNestingLevel;
property RelativeHorizontalPosition read ReadRelativeHorizontalPosition write WriteRelativeHorizontalPosition;
property RelativeVerticalPosition read ReadRelativeVerticalPosition write WriteRelativeVerticalPosition;
property Shading read ReadShading;
property SpaceBetweenColumns read ReadSpaceBetweenColumns;
property TableDirection read ReadTableDirection write WriteTableDirection;
property VerticalPosition read ReadVerticalPosition write WriteVerticalPosition;
property WrapAroundText read ReadWrapAroundText write WriteWrapAroundText;
Function WriteWrapAroundText(value);
Function ReadWrapAroundText();
Function WriteVerticalPosition();
Function ReadVerticalPosition();
Function WriteTableDirection();
Function ReadTableDirection();
Function ReadSpaceBetweenColumns();
Function ReadShading();
Function WriteRelativeVerticalPosition();
Function ReadRelativeVerticalPosition();
Function WriteRelativeHorizontalPosition();
Function ReadRelativeHorizontalPosition();
Function ReadNestingLevel();
Function WriteLeftIndent();
Function ReadLeftIndent();
Function ReadLast();
Function WriteHorizontalPosition();
Function ReadHorizontalPosition();
Function WriteHeightRule();
Function ReadHeightRule();
Function WriteHeight();
Function ReadHeight();
Function WriteHeadingFormat();
Function ReadHeadingFormat();
Function ReadFirst();
Function WriteDistanceTop();
Function ReadDistanceTop();
Function WriteDistanceRight();
Function ReadDistanceRight();
Function WriteDistanceLeft();
Function ReadDistanceLeft();
Function WriteDistanceBottom();
Function ReadDistanceBottom();
Function ReadCount();
Function ReadBorders();
Function WriteAllowOverlap();
Function ReadAllowOverlap();
Function WriteAllowBreakAcrossPages();
Function ReadAllowBreakAcrossPages();
Function WriteAlignment();
Function ReadAlignment();
End;
// ============== 实现 ================= //
Function TSDocxRows.Init(table);
Begin
table_ := table;
End;
Function Operator TSDocxRows.[](index);
Begin
row_obj := new TSDocxRow(self.Application, self.Creator, self);
row_obj.Init(table_, index);
return row_obj;
End;
// function
Function TSDocxRows.Select();
Begin
End;
Function TSDocxRows.Item(Index);
Begin
return self[Index];
End;
Function TSDocxRows.SetHeight(RowHeight, HeightRule);
Begin
case HeightRule of
TSDocxEnumerations.wdRowHeightAtLeast:
begin
end
TSDocxEnumerations.wdRowHeightAuto:
begin
end
TSDocxEnumerations.wdRowHeightExactly:
begin
end
end;
End;
Function TSDocxRows.SetLeftIndent(LeftIndent, RulerStyle);
Begin
End;
// property
Function TSDocxRows.ReadWrapAroundText();
Begin
node := class(TSXml).GetNode(table_.Root(), "w:tblPr/w:tblpPr");
return ifObj(node) ? -1 : 0;
End;
Function TSDocxRows.WriteWrapAroundText(value);
Begin
if value then
begin
table_.tblPr.tblpPr.LeftFromText := 180;
table_.tblPr.tblpPr.RightFromText := 180;
table_.tblPr.tblpPr.VertAnchor := "text";
table_.tblPr.tblpPr.tblpY := 1;
table_.tblPr.Overlap := "never";
table_.Apply();
end
else begin
class(TSXml).RemoveNode(table_.Root(), "w:tblPr/w:tblpPr");
class(TSXml).RemoveNode(table_.Root(), "w:tblPr/w:tblOverlap");
end
End;
Function TSDocxRows.ReadCount();
Begin
return table_.Rows();
End;