要用VC完成报表,报表字段很多,有的字段包含的内容也很多,比如内容等,有时会有200以上的字,这样就很难通过VC编程实现,可以用VC调用Word,通过word完成报表的最后完美排版,然后在Word中打印输出.请高手们给出指点.多谢!
  我现在能把数据送到Word,可以正确的输入固定格式的报表头,并且可以把各字段放入画好的对应表格的中,但是却不能完成固定格式的报表尾(不知道如何完成此步)?另外就是不知道如何完成所有文档的排版(如设定字体,字号,对齐方式等)?请多指教!最好有源代码!    谢谢!谢谢!

解决方案 »

  1.   

    我也遇到同样的问题,我是想通过VC将数据写入word,然后启动word显示,打印。word文档也是像报表式的。不知你是如何实现的,能不能把原代码发一份给我。[email protected],谢谢。
      

  2.   

    这里只是建议,
    这你需要知道WORD的命令行参数,
    请你查阅相关office开发MSDN资源
      

  3.   

    好象很麻烦,呵呵,操作自动化接口http://www.dpspace.com
      

  4.   

    用自动化接口我知道,并且接口已经实现,可是操纵Word还有些问题。
    最主要的是MS Word函数中的参数看不懂,都是一个德性,根本就不知
    道该传啥参数来控制Word文档,比如,我要把光标移到文档尾(表格后),
    然后插入一些说明文档(报表尾),就不知道怎么实现?还有就是不知道
    如何完成所有文档的排版(如设定字体,字号,对齐方式等)?知道用哪些
    函数,可是不会用,特别是不懂Word类函数中的参数?
      

  5.   

    我的信箱是:[email protected]
    谢谢gzshd(郁闷)兄弟了,我们有机会多交流,最好能交个朋友!
      

  6.   

    我对这个问题很感兴趣。
    我的信箱是[email protected],麻烦给我一份。
      

  7.   

    你的问题我觉得可以用word模板来解决,我给你发了一个word模板的例子,希望对你有用。
    借助于"书签",可以在模板中快速定位,准确的找到正确的文本输出位置,书签在类型库中被定义为Books和Book,前者是书签集,后者是具体的、单个的书签,Book的成员函数GetRange能够得到书签所在位置,只要使用SetText函数就能对书签所在位置进行文本输出。而输出的格式(就是字体字号那些)是在书签处(也就是在WORD中)事先定义,这样设定字体,字号,对齐方式,还有你说的不能完成固定格式的报表尾应该都能被解决。
    在WORD中插入书签是在菜单插入->书签,然后给书签起个名字,在程序中就能用了。
      

  8.   

    需要用word的COM组件好像是application.winword
    excel则是application.excel通过该组件可以控制word的所有的操作
      

  9.   

    我很想研究一下这个东西
    我的信箱是[email protected]
    能给我发一份吗?
    先谢你了!
      

  10.   

    我也要
    [email protected]
    谢谢!
      

  11.   

    很想要
    [email protected]
    谢谢
      

  12.   

    这方面的问题我一点也不懂,请gzshd(郁闷)和zhengsg1976 (老鹰) 二位大哥发份代码给我学习学习。
    [email protected]
      

  13.   

    设置新段可以使用paragraphs类和paragraph类,paragraphs代表所有段,paragraph代表某一段,也就是两个回车之间的内容,我把你的程序填充了一下,你看看有什么修改的地方就自己改一下:Paragraph paragraph;
    Paragraphs paragraphs;
    //得到文档中所有的段
    paragraphs=doc.GetParagraphs(); //_Document doc;
    //得到文档中最后一段
    paragraph=paragraphs.GetLast();
    //选中最后一段
    Range r=paragraph.GetRange();
    //得到最后一段的内容
    CString temp=r.GetText();
    //得新赋予最后一段的内容(在后面加个回车)
    r.SetText(temp+"\r\n");
    //再得到新的最后一段
    paragraphs=doc.GetParagraphs();
    paragraph=paragraphs.GetLast();
    r=paragraph.GetRange();
    //设置字体是这样做的
    _Font ofont=r.GetFont();
    ofont.SetName("华文行楷");
    r.SetText("gaozhu");我试了一下上面的程序,总是会另起两段,也就是在新添加的段上面多出一个空行,不知是什么原因,后我就把上面的r.SetText(temp+"\r\n");这一句改为了r.SetText(temp);就可以了,不解
    兄有什么事给我发短消息,在帖子里我不一定能看到
      

  14.   

    我也正为这方面的问题苦恼,请gzshd(郁闷)和zhengsg1976 (老鹰) 发份代码给我好吗? 邮箱:
    [email protected], 先谢谢了!
      

  15.   

    我也需要一份:[email protected]
    谢谢
      

  16.   

    先在WORD中录一段宏,然后查看VBA代码,相应加到VC里就是了。
      

  17.   

    同意snaill的,用程序操作word的标准做法,不过,烦!!!
    (哦,你看看word帮助的编程信息就明白了)
      

  18.   

    我对这个问题很感兴趣。
    我的信箱是[email protected],麻烦给我一份,thanks