From: https://bbs.csdn.net/topics/90443073
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
uses Word2000; procedure TWMITaskManagerMainForm.ButtonWordClick(Sender: TObject); var WordApplication: TWordApplication; WordDocument: TWordDocument; DocInx, oFileName, CfCversions, oReadOnly, AddToRctFiles, PswDocument, PswTemplate, oRevert, WPswDocument, WPswTemplate, oFormat, oEncoding, oVisible: OleVariant; Idx: Integer; Row: Integer; Col: Integer; _Cell: Cell; begin WordApplication := TWordApplication.Create(nil); WordApplication.Visible := True; WordDocument := TWordDocument.Create(nil); DocInx := 1; oFileName := 'c:\test.doc'; oReadOnly := True; CfCversions := EmptyParam; AddToRctFiles := EmptyParam; PswDocument := EmptyParam; PswTemplate := EmptyParam; oRevert := EmptyParam; WPswDocument := EmptyParam; WPswTemplate := EmptyParam; oFormat := EmptyParam; oEncoding := EmptyParam; oVisible := True; WordApplication.Documents.Open(oFileName, CfCversions, oReadOnly, AddToRctFiles, PswDocument, PswTemplate, oRevert, WPswDocument, WPswTemplate, oFormat, oEncoding, oVisible); WordDocument.ConnectTo(WordApplication.Documents.Item(DocInx)); Idx := 1; //按列变换表格线不同颜色 {for Col := 1 to WordDocument.Tables.Item(Idx).Columns.Count do begin WordDocument.Tables.Item(Idx).Columns.Item(Col).Borders.OutsideColorIndex := Col; end; } //按行变换表格线不同颜色 {for Row := 1 to WordDocument.Tables.Item(Idx).Rows.Count do begin WordDocument.Tables.Item(Idx).Rows.Item(Row).Borders.OutsideColorIndex := Row; end } //下面是综合颜色变换 (按单元格)字体颜色、表格线颜色 {for Idx := 1 to WordDocument.Tables.Count do begin for Row := 1 to WordDocument.Tables.Item(Idx).Rows.Count do begin for Col := 1 to WordDocument.Tables.Item(Idx).Columns.Count do begin _Cell := WordDocument.Tables.Item(Idx).Cell(Row, col); _Cell.Borders.OutsideColor := clBlue; _Cell.Range.Font.Color := clRed; end end; end;} end; |
