想用VC实现对Word文件预览的功能,找了很久都没有找到相关的资料,大家帮帮我把这个问题解决吧,谢谢各位了!

解决方案 »

  1.   

    http://msdn.microsoft.com/en-us/library/aa289172(VS.71).aspx
      

  2.   

    上次的问题还是没解决,http://msdn.microsoft.com/en-us/library/aa289172(VS.71).aspx上面介绍的方法可以预览Word文件,但该word文件必须在硬盘上,如“E:\\word file\\file.doc"这个路径下,而我要预览的文件在内存中,不知道文件全路径名,所以那个网页上介绍的内容不适用于我的情况!
      

  3.   

    很简单的嘛,用webBrowser控件即可。
      

  4.   

    使用webBrowser控件还是需要文件全路径啊,我的文件在内存里,而且使用WebBrowser只是使用Word打开该文档,该文档可以剪切、复制、粘贴,有右键菜单,我要实现的是预览,就和打印预览一样,预览的页面不能 编辑。
      

  5.   

    哦,对了,你是说浏览还是打印预浏?浏览代码如下:
    m_WordPanel.Navigate(FilenName,NULL,NULL,NULL,NULL);
    打印预览复杂一点:
    _Application app;
    Documents docs;
    _Documment doc;
    if(!app.CreateDispath("word.Application"))
    {
      MessageBox("");
      return;
    }
    docs.AttachDispatch(app.GetDocuments());
    然后用doc打开文件后再调用doc.PrintPreview()
      

  6.   

    [Quote=引用 6 楼 lllyyy2403 的回复:]
    哦,对了,你是说浏览还是打印预浏?浏览代码如下:
    m_WordPanel.Navigate(FilenName,NULL,NULL,NULL,NULL);
    打印预览复杂一点:
    _Application app;
    Documents docs;
    _Documment doc;
    Range range;
    CCom Variant a(_T(""),b(FALSE),c(0),d(TRUE),aa(1),bb(20);
    if(!app.CreateDispath("word.Application"))
    {
      MessageBox("");
      return;
    }
    docs.AttachDispatch(app.GetDocuments());
    doc.AttachDispatch(docs.Add(&a,&b,&c,&d));
    //求出所选区域
    range=doc.GetContent();
    CString str;
    m_Edit.GetWindowText(str);//预蓝的文本
    range.SetText(str);
    app.SetVisible(TRUE);
    doc.PrintPreview();
    //最后释放环境就OK了
    range.Release......
      

  7.   

    我说的是像预览图片一样的对一个word文件进行预览,不是跳出一个打印对话框实现打印预览!有一个限制是图片在内存中,即在程序中的一个buffer里面。
      

  8.   

    那表示Word已经在运行了,那应该只要运行PrintPreview();就可以了吧。
      

  9.   

    只是简单的将一个文件读到内存中,并没有启用word!
      

  10.   

    还有实在不行你可以在程序中运行VBA的宏也同样可以达到目的的。关于运行VBA的宏我今天刚答过的,找找啊,奇怪我怎么找不到了,再写一遍可真太累了,你也找找看。
      

  11.   

    在内存中是一段Buffer还是什么
      

  12.   

    这个就不知道怎么读了,内存中的文件?要不先把它保存到硬盘,然后再用word打开?
      

  13.   

    我做的是数据恢复软件,word文件已经被删除了,而我的程序打开磁盘并将磁盘中指定的扇区中的数据读到buffer里面,现在我要实现对该文件的预览,让用户选择要恢复的文件,所以不能先把它保存到硬盘上。
      

  14.   

    用word打开一个硬盘上的文件可行,那打开一个内存中的文件理论上应该也可行,但没做过,黔驴技穷了,抱歉。
      

  15.   

    我想知道这个对我要实现的预览word文件有什么关系?
      

  16.   

    存成一个临时文件有什么不好,干吗非要用Word打开内存Buffer.