{插入表格的方法是否与我的类似??}
function TfrmSourceEdit.ToInsertTable(Row, Col, Width, Board, Margin,
Space, Caption, SColor: String
ifWrap, ifClarity: Boolean): Boolean;
var
tmpTablePar : DEInsertTableParam;
TableAttrs : WideString;
CellAttrs : WideString;
begin
Result := False;
Try
tmpTablePar := CreateComObject(Class_DEInsertTableParam) as IDEInsertTableParam;
{Row Col Caption}
if Trim(Row) <>'' then
tmpTablePar.NumRows := StrToInt(Trim(Row))
else
begin
MessageBox(Handle,'<行数>的值不能为空,请重新设置<行数>','系统提示',MB_OK or MB_ICONINFORMATION);
Exit;
end;
if Trim(Col) <>'' then
tmpTablePar.NumCols := StrToInt(Trim(Col))
else
begin
MessageBox(Handle,'<列数>的值不能为空,请重新设置<列数>','系统提示',MB_OK or MB_ICONINFORMATION);
Exit;
end;
if (Trim(Board) = '') or (StrToInt(board) <1)then
begin
MessageBox(Handle,'<边宽>的值不能为空也不能为0,请重新设置<边宽>','系统提示',MB_OK or MB_ICONINFORMATION);
Exit;
end;
tmpTablePar.Caption := Trim(Caption);
if (StrToInt(Col) > 63) Or (StrToInt(Row) > 32767) or (StrToInt(Col)< 1) or (StrToInt(Row)<1)then
begin
MessageBox(Handle,'表格行数的取值范围:(1~32767),表格列数的取值范围:(1~63),请重新设置','操作提示',MB_OK or MB_ICONINFORMATION);
Exit;
end;
TableAttrs := '';
CellAttrs :='';
{TableAttrs}
//if Trim(edtBoard.Text) <> '' then
TableAttrs := TableAttrs + ' border='+Trim(Board);
if Trim(Margin) <> '' then
TableAttrs := TableAttrs + ' cellSpacing='+Trim(Margin);
if Trim(Space) <> '' then
TableAttrs := TableAttrs + ' cellPadding='+Trim(Space);
if Trim(Width) <> '' then
TableAttrs := TableAttrs + ' width='+Trim(Width)+'%'
else
TableAttrs := TableAttrs + ' width=100%';
tmpTablePar.TableAttrs := TableAttrs;
{CellAttrs}
if ifWrap then
CellAttrs := CellAttrs+' nowrap width='+IntToStr(StrToInt(Trim(Width)) div tmpTablePar.NumCols)+'%'
else
CellAttrs := CellAttrs+' wrap width='+IntToStr(StrToInt(Trim(Width)) div tmpTablePar.NumCols)+'%';
if Not ifClarity then
begin
CellAttrs := CellAttrs+ ' bgColor="'+SColor+'"';
end;
tmpTablePar.CellAttrs := CellAttrs;
Result := True;
FTableParam := tmpTablePar;
FInsertTable := True;
Finally
//Close;
end;
end;
{End of Add}
if Not ToInsertTable(frmExcelProperty.edtRow.Text, frmExcelProperty.edtCol.Text, frmExcelProperty.edtWidth.Text,
frmExcelProperty.edtBoard.Text,frmExcelProperty.edtMargin.Text,frmExcelProperty.edtSpace.Text,
frmExcelProperty.edtCaption.Text, frmExcelProperty.FColor, frmExcelProperty.cbxNoWrap.Checked,
frmExcelProperty.cbxClarity.Checked) then
Goto ReStart;
if Not FInsertTable then Exit;
ovInsertTableParam := OleVariant(FTableParam);
DHTMLEdit1.ExecCommand(DECMD_INSERTTABLE, OLECMDEXECOPT_DODEFAULT, ovInsertTableParam);
FInsertTable := False;
end;