VBA新问题,请大家关注。200分(200分)

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

阿当

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在我的程序里显示Word文档,而不显示菜单、工具条等,可以逐页上移,左移、甚至逐字等各种显示效果。

方案一:
我最初使用TOLEContainer,但它只能显示文档的第一页,打开VCL源码发现显示文档是调用了Ole32.dll中的
OleDraw函数,多数实验发现该函数只显示文档的第一页。我想用VBA将文档的每一页存为一个中间文档,然后用
TOLEContainer显示,但我不知道如果能取得并保存文档的每一页,VBA中找不到用于控制页的对象。

方案二:
用VBA读出文档的内容(文字、图片、表格)及位置、字体等信息,在程序中控制显示。这种方法更加灵活自由,
但是工作量太大,而且如果取得这些内容是信息呢?

方案三:
开发一个虚拟打印机,向该打印机打印每一页(打印到窗口中),但我不知道如何做虚拟打印。

我想肯定能实现的,WPS可以完全支持Word文档,它是如何做的?难道是Miscrosoft给了金山内码或是未公布的资料?
请各位讨论、指点,谢谢!
 
金山公司是对Word文档的格式进行了分析,再转化到WPS上的。
不是通过OLE方式来做的。
好像MS Office格式最复杂的就是Word文档了。其他的Excel等格式很简单,就是BIFF格式。
金山专门有一个组分析MS Office格式的。你别在这上面动脑筋了。

你觉得用VBA读取文档方便不如试试DelphiServer页上的控件,也很方便。
 
to wr960204:
本质上来说VBA和用Delphi Server控件是一样的,只是后者有代码提示罢了。或者用VBA更灵活也不一定,但是如何读取文档呢?能给个例子吗? 另外,我怎么也找不到取得并控制页的对象?
 
后退
顶部