最近想搞个在线文档管理系统,可以实现在线浏览和编辑的功能,在学习FOXTABLE控件的帮助时,没有发现专门用于浏览或编辑文件的控件,只介绍了用WebBrowser控件,我尝试了下,相关代码如下(编写在一个按钮的单击事件中):Dim flg As New OpenFileDialog
Dim WB As WinForm.WebBrowser = e.Form.Controls("WebBrowser1")
flg.Filter = "Excel文件|*.xls|Word文件|*.doc|PDF文件|*.PDF|jpg文件|*.jpg|TIF文件|*.tif"
If flg.ShowDialog = DialogResult.OK Then
WB.OfficeToolBar=True
WB.Address = flg.FileName
End If
实际测试过程中发现:
1.Filter属性设置了文件过滤条件,但在系统中选择文件时,不是这些文件类型的文件也可以看到和选择,这是怎么回事?
2.Office文件不同版本扩展名不一样,是否需要分别设置,还是设备低版本的扩展名,高版本向兼容也可以?如*.xls和*xlsx
3.上述文件类型分别测试过,只有PDF是在WebBrowser中显示的,其它文件都是调用原来的程序来打开,不在WebBrowser显示,这是怎么回事?
4.假如WebBrowser中已经显示一个文件,现在准备显示另外一个文件,需不需要先把前面的文件卸掉再打开新文件(实际测试好像不用)?如果是代码是?
请各位狐友帮忙看看。
我的文件是现成的,不是要显示报表,而且显示报表也是要转成PDF才能显示在WebBrowser中。我的要求是进行文档管理时,选择相关文件(如WORD)时能在一个控件中打开,而不是调用他原本的程序打开,然后在控件中能实现文档的查看与修改,目前测试WebBrowser好像只能显示PDF文件,其它的都是调用原来的程序打开,是不是要设置某个属性,让其不调用原来的程序才能打开,或者WebBrowser无法实现相关功能,有没有替代控件?
foxtable安装目录里有一个Office.reg文件,双击执行一下。然后重新打开项目
office.reg注册后可以在WebBrower中正常显示Office文档了,但又出现了一些奇怪的问题:
1.Word2003还是不能在WebBrower中显示(单独打开),其它的都可以包括EXCEL2003,WORD2007,EXCEL2007和图片文件都可以。
此主题相关图片如下:2003w不打开.png
2.设置OfficeToolBar = true,EXCEL2003 和EXCEL2007无法显示菜单和工具栏,开始EXCEL2007是可以的,后来将OfficeToolBar设置为false,再设置回ture就不行,不知道是为什么?
此主题相关图片如下:2003excel无菜单.png
此主题相关图片如下:2007excel无菜单.png
3.设置OfficeToolBar = false ,word 2007依然显示菜单和工具栏。
此主题相关图片如下:2007显示菜单.png
4.文件类型过滤设置依然不生效。
此主题相关图片如下:文件筛选不起作用.png
5.在WebBrowser中显示的OFFICE文档,可以转成PDF文档(类似WORD报表中的SavetoPDF)吗?或者锁定不让编辑?
6.怎样获取在WebBrowser中显示的OFFICE文档的一些信息,比如文档作者,最后一次修改时间,版本号等 ?
这些都没有办法的,因为完全依赖office自身的组件。浏览器控件只能做一些简单的预览,不要期待能够拥有完整的office功能
电脑不要安装多个版本的office。2003太老了建议不要使用。
没有安装多个版本的OFFICE,只装了2007,2003是将2007的另存为2003的版本。上面的几个问题好像还没有答案:
1.文件过滤器为什么不起作用?
2.OFFICE.REG在软件安装时为什么没有自动注册?
3.EXCEL为什么不显示工具栏与菜单栏?
4.设置OfficeToolBar = false ,word 2007为什么依然显示菜单和工具栏?
5.在WebBrowser中打开的office文件如何另存为PDF文档或者锁定不让编辑?
6.在FOXTABLE中怎样定义一个WORD文档(像XLS.BOOK那样)?
1、我测试没有问题,请上传实例说明
2、不是所有人都需要这种功能
3、4、office组件自己的问题
5、无法控制