delphi读取excel图表中的公式内容 [Vsun你好](200)

  • 主题发起人 主题发起人
  • 开始时间 开始时间

Unregistered / Unconfirmed
GUEST, unregistred user!
根据Sheet2工作表中的数据做一簇状柱形图:数据产生区域为A4到D11,系列产生在列。图表标题为“学生成绩统计”。分类轴(X)轴坐标标题为“姓名”,数值(Y)轴标题为“分数”。图表显示在Sheet3工作表中。如何取出:“序列公式”?本题3个答案: (PlotFormulaR1C1) (1) =SERIES(Sheet2!R4C3,Sheet2!R5C1:R11C1,Sheet2!R5C3:R11C3,1) (2) =SERIES(Sheet2!R4C2,Sheet2!R5C1:R11C1,Sheet2!R5C2:R11C2,2) (3) =SERIES(Sheet2!R4C2,Sheet2!R5C1:R11C1,Sheet2!R5C2:R11C2,3)
 
设置书签就行了,然后读取书签就找到了具体的位置了
 
不想用书签的办法,有没有其他的办法能解决?
 
对delphi并不是很熟练,对wordapplication也不熟,我的机器上直接用控件用不好,说找不到wordxp.pas文件,我也不知道怎么处理,无奈之下,直接用CreateOleObj来自行创建Com对象。代码如下,给你参考一下。需要引用ComObj单元。tform1.doc文件中输入三段落的文字,以便测试procedure TForm1.Button1Click(Sender: TObject);var MyWord, MyDoc, Mypa: Variant;begin MyWord := CreateOleObject('Word.Application'); MyWord.Visible := true; MyWord.showme; MyDoc := MyWord.documents.open('d:/test.doc'); Mypa := MyDoc.paragraphs.item(2);// Mypa.Range.Font.Size := 64; 设置第二段文本的字体为64磅。 MySent := Mypa.Range.Sentences; ShowMessage('第二段内容:' + Mypa.Range.Text); //显示第二段的内容。 ShowMessage(Format('第二段共有%s条句子.', [MySent.Count])); //显示第二段中的句子总数。 ShowMessage('第二句话内容:' + MySent.item(2).Text);//显示第二段中第二句话的内容。 MyWord.quit; MyDoc := null; MyWord := null;end;test.doc的内容如下:第一个段内容第二个段内容:第一句话。第二句话。第三句话。第四句话。第三个段内容。最后,我还想说一下的是,在做word,excel等开发的过程当中,有时候学会走一下"弯路"很重要的。我所说的弯路是什么呢,就是它们的宏录制=>编辑功能,还有就是VBA的对象浏览器是很重要并很方便的东西,充分利用它们可以省很多事的。唉,我不太会表达,自己去看去体会吧。
 
Vsun你好:关于WORD的问题按你的方法已经解决,能否再帮一下,看看下面的问题,积分可以再加,先谢谢了!根据Sheet2工作表中的数据做一簇状柱形图:数据产生区域为A4到D11,系列产生在列。图表标题为“学生成绩统计”。分类轴(X)轴坐标标题为“姓名”,数值(Y)轴标题为“分数”。图表显示在Sheet3工作表中。如何取出:“序列公式”?本题3个答案: (PlotFormulaR1C1) (1) =SERIES(Sheet2!R4C3,Sheet2!R5C1:R11C1,Sheet2!R5C3:R11C3,1) (2) =SERIES(Sheet2!R4C2,Sheet2!R5C1:R11C1,Sheet2!R5C2:R11C2,2) (3) =SERIES(Sheet2!R4C2,Sheet2!R5C1:R11C1,Sheet2!R5C2:R11C2,3)
 
郁闷,你先把这分给我了,第二个问题好说得很,我有种总被骗的感觉。要知道你的第一个问题,我是昨天晚上花了大半个小时的时间查VBA手册才搞出来的,我本来对VBA是不熟息的。
 
深有同感,LZ还是先还老账再说。
 
好的,先结账
 
多人接受答案了。
 
后退
顶部