T
tanxi
Unregistered / Unconfirmed
GUEST, unregistred user!
我想使用Delphi自带的ExcelApplication控件在Excel中绘制一般的二位矢量图;
在当前Sheet中创建一个矩形,然后修改它的位置,大小,填充色,文本等属性;
在实际编程时创建一个矩形,控制大小,位置没什么问题;
但 我想通过程序修改这个Shape的文本,填充色时遇到问题,Shape对象本身好像没有提供
控制文本的接口,或者提供的都是只读的,一旦修改就会报出异常.
下面是部分源码,望高手指教.
.......
var
LCID : Integer;
wkBook :_Workbook;
wkSheet:_Worksheet;
Chart : Shape;
......
begin
......
LCID := GetUserDefaultLCID(); //获得唯一的LCID编号
ExcelApp.Connect; //开始操作之前 建立同Excel的联系
try
wkBook := ExcelApp.Workbooks.Add(EmptyParam, LCID);
ExcelApp.Visible[LCID]:=true;
wkSheet:=wkBook.Sheets.Item[1] as _WorkSheet;
Chart:=wkSheet.Shapes.AddShape(1,50,50,200,200);
Chart.Fill.ForeColor.RGB:=RGB(0,0,255);
with Chart do
begin
Chart.TextEffect.FontSize:=10;
Chart.PictureFormat.ColorType:=RGB(0,0,255);
end;
except
end;
ExcelApp.Disconnect; //结束操作之后 断开同Excel的联系
end;
在当前Sheet中创建一个矩形,然后修改它的位置,大小,填充色,文本等属性;
在实际编程时创建一个矩形,控制大小,位置没什么问题;
但 我想通过程序修改这个Shape的文本,填充色时遇到问题,Shape对象本身好像没有提供
控制文本的接口,或者提供的都是只读的,一旦修改就会报出异常.
下面是部分源码,望高手指教.
.......
var
LCID : Integer;
wkBook :_Workbook;
wkSheet:_Worksheet;
Chart : Shape;
......
begin
......
LCID := GetUserDefaultLCID(); //获得唯一的LCID编号
ExcelApp.Connect; //开始操作之前 建立同Excel的联系
try
wkBook := ExcelApp.Workbooks.Add(EmptyParam, LCID);
ExcelApp.Visible[LCID]:=true;
wkSheet:=wkBook.Sheets.Item[1] as _WorkSheet;
Chart:=wkSheet.Shapes.AddShape(1,50,50,200,200);
Chart.Fill.ForeColor.RGB:=RGB(0,0,255);
with Chart do
begin
Chart.TextEffect.FontSize:=10;
Chart.PictureFormat.ColorType:=RGB(0,0,255);
end;
except
end;
ExcelApp.Disconnect; //结束操作之后 断开同Excel的联系
end;