Type TSDocxBorder = Class(TSVbaBase) Uses TSDocxEnumerations; public Function Init(borders, borderType); private border_; public property ArtStyle read ReadArtStyle write WriteArtStyle; property ArtWidth read ReadArtWidth write WriteArtWidth; property Color read ReadColor write WriteColor; property ColorIndex read ReadColorIndex write WriteColorIndex; property Inside read ReadInside; property LineStyle read ReadLineStyle write WriteLineStyle; property LineWidth read ReadLineWidth write WriteLineWidth; property Visible read ReadVisible write WriteVisible; Function WriteVisible(); Function ReadVisible(); Function WriteLineWidth(); Function ReadLineWidth(); Function WriteLineStyle(value);virtual; Function ReadLineStyle(); Function ReadInside(); Function WriteColorIndex(); Function ReadColorIndex(); Function WriteColor(); Function ReadColor(); Function WriteArtWidth(); Function ReadArtWidth(); Function WriteArtStyle(); Function ReadArtStyle(); End; // ============== 实现 ================= // Function TSDocxBorder.Init(borders, borderType); Begin case borderType of TSDocxEnumerations.wdBorderBottom(): border_ := borders.Bottom; TSDocxEnumerations.wdBorderDiagonalDown(): border_ := borders.tl2br; TSDocxEnumerations.wdBorderDiagonalUp(): border_ := borders.tr2bl; TSDocxEnumerations.wdBorderHorizontal(): border_ := borders.InsideH; TSDocxEnumerations.wdBorderLeft(): border_ := borders.Left; TSDocxEnumerations.wdBorderRight(): border_ := borders.Right; TSDocxEnumerations.wdBorderTop(): border_ := borders.Top; TSDocxEnumerations.wdBorderVertical(): border_ := borders.InsideV; end; End; // property Function TSDocxBorder.WriteLineStyle(value);virtual; Begin case value of TSDocxEnumerations.wdLineStyleDashDot(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleDashDotDot(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleDashDotStroked(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleDashLargeGap(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleDashSmallGap(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleDot(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleDouble(): border_.Val := "double"; TSDocxEnumerations.wdLineStyleDoubleWavy(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleEmboss3D(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleEngrave3D(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleInset(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleNone(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleOutset(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleSingle(): border_.Val := "single"; TSDocxEnumerations.wdLineStyleSingleWavy(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleThickThinLargeGap(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleThickThinMedGap(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleThickThinSmallGap(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleThinThickLargeGap(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleThinThickMedGap(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleThinThickSmallGap(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleThinThickThinLargeGap(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleThinThickThinMedGap(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleThinThickThinSmallGap(): border_.Val := "nil"; TSDocxEnumerations.wdLineStyleTriple(): border_.Val := "nil"; end; border_.Update(); End;