Foxtable(狐表)用户栏目专家坐堂 → 如何用命令将一篇word文档直接存储为一个网页


  共有2954人关注过本帖树形打印复制链接

主题:如何用命令将一篇word文档直接存储为一个网页

帅哥哟,离线,有人找我吗?
jq_shang
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
如何用命令将一篇word文档直接存储为一个网页  发帖心情 Post By:2020/7/2 23:11:00 [显示全部帖子]

WEUI如何用命令将一篇WORD文档直接存储为一个网页呢?

WORD文档中图片和图表较多,想采用网页形式,通过手机查看,以前是逐个用手工另存为网页,然后放在网上。如何简化一下程序,用户在点击标题时,用命令来动态生成网页呢?

我尝试用word报表的方式,绕的圈子实在是太大了。

另外,如果能够命令生成,能像Article那样,用CSS规范一下显示风格吗?

[此贴子已经被作者于2020/7/2 23:23:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2020/7/3 15:39:00 [显示全部帖子]

首先谢谢蓝版。

用这种方式,首先是需要一个table,哪怕是个空表也算。期次是可以将Word文档直接作为模板。我这样做了,但是在用循环命令生成一批这样的报表时,提示word文档被占用,应该是那个退出语句没起到作用。

可以不绕这个圈子吗?

另外,按这个绕圈子的办法,我再试试看。


 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2020/7/9 17:08:00 [显示全部帖子]

感谢蓝版,需要的就是后面这个方式,问题解决了。谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2020/7/9 20:29:00 [显示全部帖子]

再问一下,如何用命令将word文档保存为一个单一网页mht?

我照搬上面蓝版的代码,照猫画虎修改了一下,出错啦。网上搜了半天也没有找到相关资料,惭愧!

Dim tmp As String  =  "D:\问题\123.docx"
Dim name As String =  "D:\问题\123.html"
Dim mht As String =  "D:\问题\123.mhtml"


Dim app As New MSWord.Application
Dim doc = app.Documents.Open(tmp)
doc.SaveAs(Filename:=name , FileFormat:=MSWord.WdSaveFormat.wdFormatFilteredHTML)
doc.SaveAs(Filename:=mht , FileFormat:=MSWord.WdSaveFormat.wdFormatFilteredMHTML)
app.quit

[此贴子已经被作者于2020/7/9 20:52:25编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2020/7/9 20:55:00 [显示全部帖子]

谢谢蓝版,成了!我刚刚修改问题,您就已经回复了,神速呢!谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2020/7/9 20:57:00 [显示全部帖子]

以下是全部代码,修改自己留存以便查看。

Dim tmp As String  =  "D:\问题\123.docx"
Dim name As String =  "D:\问题\123.html"
Dim mht As String =  "D:\问题\123.mhtml"


Dim app As New MSWord.Application
Dim doc = app.Documents.Open(tmp)
doc.SaveAs(Filename:=name , FileFormat:=MSWord.WdSaveFormat.wdFormatFilteredHTML)
doc.SaveAs(Filename:=mht , FileFormat:=MSWord.WdSaveFormat.wdFormatWebArchive)
app.quit


 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2020/7/9 21:26:00 [显示全部帖子]

再请教一下,以上生成的单一网页,编码格式是charset=3Dus-ascii,如何自动生成gb2312或utf-8编码呢?如果手工一个一个另存为……的话,还是有点不够理想。

另外的问题是,2312格式的,手机浏览器虽然是显示乱码,但总是能够打开的。mhtml格式的,手机却显示空白,连乱码都不显示,不知道是什么原因。

[此贴子已经被作者于2020/7/9 21:28:43编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2020/7/10 2:28:00 [显示全部帖子]

 

小结:

2020年7月10日凌晨

这几天经过学习和测试,了解了一些WORD文档转存为网页的情况,小结如下:

1、经过蓝版指导,word文档,用命令直接转换为网页,已经能够实现;转换时,覆盖同名旧文档不提示。

2、转换成的html文档,编码为BG2312;转换成的mht单一网页文档,编码为charset=3Dus-ascii;以上两种编码,都不能直接使用;

3、BG2312编码的网页,手机浏览器打开正常显示为乱码,需要逐个手工另存为utf-8编码格式,才能用正常浏览;如果不进行转换,采用命令e.Resp…… = "gb2312" '来通知浏览器,不能解决乱码问题!这个问题,不知道是什么原因造成的,需要继续请教

4、mht格式的单一网页文档,文档本身正常,本地浏览器可以打开。通过网站链接形式,用于测试的谷歌浏览器找不到该文档,应该是安全限制;别的浏览器没有测试。

 

复习巩固以下内容:

1、对于静态网页,即使你指定了绝对路径,如果网站根目录下存在同名网页,则优先显示根目录网页;

其他:

1、word转存为网页,用的是VBA命令,模拟word另存为对话框,保存的网页编码与word中的命令结果相同;

2、用Process指令,能够让写字板打开网页文件,但其verb动作,只有print、edit等三个,当前无法完成查找替换、另存为以及编码选择等一系列复杂动作,这恐怕超出了foxtable版主的职责,不好意思深问。因此,批量转换无法完成,还需要手工逐个转换编码。查找写字板的功能命令,也超出了我的能力。

 

Dim fl As String = "C:\JACK桥牌文库\web\word网页\" & e.Path

        If filesys.FileExists(fl)

            Dim idx As Integer = fl.LastIndexOf(".")

            Dim ext As String  = fl.SubString(idx)

            Select Case ext

                Case ".html",".htm",".mht",".jpg"

                    e.Resp ……= "gb2312"'这句命令没有起到作用,不知道什么原因。

                    e.WriteFile(fl)

            End Select

        Else

            e.WriteString("好奇怪,你访问的页面不存在!") '奇怪的是,如果目标是mht单一网页出现了这个提示,说明浏览器找不到这个网页文件。

        End If

 

[此贴子已经被作者于2020/7/10 2:30:55编辑过]

 回到顶部