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;