uses comobj;var word,worddoc:variant; begin word:=createoleobject('word.application'); word.visible:=true; worddoc:=word.Documents.Add; worddoc.Shapes.AddOleObject('MSGraph.Chart.8'); end; 不过图表不好控制,这样的话没有意义,不如用excel
谢谢楼上老大,这样的话报如下错误,你说用excel是说用delphi控制excel吗?望不吝赐教 [Error] inquiry1.pas(557): Types of actual and formal var parameters must be identical 我的语句:worddoc.Shapes.AddOleObject('MSGraph.Chart.8');
comobj;var
word,worddoc:variant;
begin
word:=createoleobject('word.application');
word.visible:=true;
worddoc:=word.Documents.Add;
worddoc.Shapes.AddOleObject('MSGraph.Chart.8');
end;
不过图表不好控制,这样的话没有意义,不如用excel
[Error] inquiry1.pas(557): Types of actual and formal var parameters must be identical
我的语句:worddoc.Shapes.AddOleObject('MSGraph.Chart.8');
word:=createoleobject( 'word.application ');
worddoc.Shapes.AddOleObject( 'MSGraph.Chart.8 ');
这两句里的字符串空格你没有去掉才出的错,
建议用Excel的图表
在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet
var asheet1,achart, range:variant;
1)选择当第一个工作薄第一个工作表
asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1];
2)增加一个二维图
achart:=asheet1.chartobjects.add(100,100,200,200);
3)选择二维图的形态
achart.chart.charttype:=4;
4)给二维图赋值
series:=achart.chart.seriescollection;
range:=sheet1!r2c3:r3c9;
series.add(range,true);
5)加上二维图的标题
achart.Chart.HasTitle:=True;
achart.Chart.ChartTitle.Characters.Text:=’ Excle二维图’
6)改变二维图的标题字体大小
achart.Chart.ChartTitle.Font.size:=6;
7)给二维图加下标说明
achart.Chart.Axes(xlCategory, xlPrimary).HasTitle := True;
achart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text := '下标说明';
8)给二维图加左标说明
achart.Chart.Axes(xlValue, xlPrimary).HasTitle := True;
achart.Chart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text := '左标说明';
9)给二维图加右标说明
achart.Chart.Axes(xlValue, xlSecondary).HasTitle := True;
achart.Chart.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text := '右标说明';
10)改变二维图的显示区大小
achart.Chart.PlotArea.Left := 5;
achart.Chart.PlotArea.Width := 223;
achart.Chart.PlotArea.Height := 108;
11)给二维图坐标轴加上说明
achart.chart.seriescollection[1].NAME:='坐标轴说明';