以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]html编辑器图文打印 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=131109) |
||||
-- 作者:天一生水 -- 发布时间:2019/2/16 21:27:00 -- [求助]html编辑器图文打印 老师好! 请教如何把HTML编辑器里的图文内容按照原格式,单个或批量预览、打印。 我按照老师以前在论坛里的提示,先做了一个 “原始模板.html” 文件;然后点击窗口按钮,用编辑器的图文代码替换 “原始模板.html”中的特定字符,并另存为“新模板.doc”。 但是,替换后是乱码,指定编码后也没有起作用;另外,编辑器中的图片路径是不是也要改一下? 谢谢! 按钮代码: Dim s As String = FileSys.ReadAllText(ProjectPath & "初始模板.html") Dim r As Row = Tables("通知单").Current FileSys.WriteAllText(ProjectPath & "新模板.doc",s.Replace("(绑定编号)",r("编号") ).Replace("(绑定html_内容)",r("html_内容")), False) Dim Proc As New Process \'定义一个新的Process Proc.File = ProjectPath & "新模板.doc" \'指定要打开的文件 Proc.Start() |
||||
-- 作者:有点蓝 -- 发布时间:2019/2/18 9:32:00 -- word文档是一种独特的格式,不能像普通文本文件一样直接写入数据的。参考: Dim s As String = FileSys.ReadAllText(ProjectPath & "初始模板.html") Dim r As Row = Tables("通知单").Current s.Replace("(绑定编号)",r("编号") ).Replace("(绑定html_内容)",r("html_内容")) Dim sw As new io.StreamWriter(ProjectPath & "新模板.doc", False, system.text.Encoding.GetEncoding("utf-8")) sw.WriteLine(s) sw.Flush() sw.Close() |
||||
-- 作者:天一生水 -- 发布时间:2019/2/18 11:59:00 -- 谢谢蓝老师! 我试了一下,Word打开后还是乱码。 按说替换的是单元格中的HTML代码,为什么Word中只替换了很少的字符,而且还是乱码。(指定“utf-8“或“gb2312”编码都不行) 另外,HTML中的图片怎样粘贴到Word文件中? 下图中: 红框1:是替换到Word中的html代码; 红框2:html编辑器的内容显示效果; 红框3:Word的显示效果。
此主题相关图片如下:截屏图片.jpg [此贴子已经被作者于2019/2/18 12:40:43编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/2/18 14:11:00 -- 上传具体实例说明 |
||||
-- 作者:天一生水 -- 发布时间:2019/2/18 14:26:00 -- 老师请看实例:
|
||||
-- 作者:有点蓝 -- 发布时间:2019/2/18 15:27:00 -- 文件【初始模板.html】的编码有问题,请使用uft-8保存。网页尽量不要使用记事本进行编辑,网上随便下载一个编辑器都比记事本好用 另外试了一下,没有办法导出图片。 如果只是要打印建议还是使用浏览器控件默认的打印功能 Dim web As WinForm.WebBrowser = e.Form.Controls("WebBrowser1") web.Print |
||||
-- 作者:天一生水 -- 发布时间:2019/2/19 11:41:00 -- 蓝老师好! 按照老师的指点,下载了Notepad++,重新生成了html文件。 同时在替换时更改了图片的路径(把“../”改为“./”),这样,就能把HTML中的图片在Word中显示了。 现在遇到2个问题: 1、如果选中多条记录,怎样显示在一个Word文件中? 2、文本中有多个空行,我添加了清除空段落的代码,为什么没起作用? 代码如下:
\'\'\' \'清除Word空行 Dim Proc As New Process \'定义一个新的Process
|
||||
-- 作者:有点蓝 -- 发布时间:2019/2/19 12:12:00 -- 这种方式是虽然保存的的是doc的扩展名,实际上保存的还是文本文件,而不是真正的word文档。所以是木有办法使用word vba来控制这个文档内容的。 建议在保存html到单元格的时候就把后面多余的P和br标签去掉
|
||||
-- 作者:天一生水 -- 发布时间:2019/2/24 21:10:00 -- 甜老师好! 我七楼的实例,可以把单行的图文数据生成到word文件中,多行的图文数据怎样在一个word文档中合并实现! 谢谢!
|
||||
-- 作者:有点甜 -- 发布时间:2019/2/24 21:34:00 -- 1、代码
Dim mb As String = FileSys.ReadAllText(ProjectPath & "初始模板.html")
2、模板
|