|
分享源码
界面截图: |
- |
是否带模块: |
- |
备注说明: |
- |
前期在写某采集的过程中,要把图文混排写出到word,跟据论坛几位大牛的源码,基本实现了它的功能,但因为对源码的原理不太明白,所以 功能还是有缺陷,我共试了三种方式,其实是两种,为了帮助后面的朋友,特意贴出来,供有用到的参考,同时,也请大佬能完善。
第一种:使用论坛word模块:
变量名 | 类 型 | 静态 | 数组 | 备 注 | 文本组 | 文本型 | | 0 | index | 整数型 | | | 图片数据 | 字节集 | | | 现有文档 | 对象 | | | 集_文本 | 变体型 | | |
word对象. 创建 ()word对象. 打开文档 (取运行目录 () + “\模板.docx”)处理事件 ()延迟 (2000 )word对象. 可视 (真)如果真 (取反 (word对象. 可视与否 ()) )状态条1. 置文本 (1, “未能成功打开文档!.”)再次执行 ()word对象.到文档尾 ()word对象. 字体名 (“仿宋”)word对象. 字体大小 (18 )word对象. 字体加粗 (真)word对象. 文本对齐 (1 )word对象. 输入文本 (编辑框EX2.内容 )word对象. 文本对齐 (0 )word对象. 字体大小 (14 )数组清零 (文本组 )文本_分割文本 (富文本框EX1.内容, #换行符, , 文本组 )计次循环首 (取数组成员数 (文本组 ), index )如果 (取文本左边 (文本组 [index ], 4 ) = “http”)word对象. 插入图片 (文本组 [index ])处理事件 ()word对象. 输入文本 (文本组 [index ])处理事件 ()word对象. 输入文本 (, 1 )计次循环尾 ()word对象. 另存文档 (保存目录 + “\” + 编辑框EX2.内容 + “.doc”)调试输出 (保存目录 ) 延迟 (1000 )word对象. 关闭文档 (1 )word对象. 退出 () 状态条1. 置文本 (1, “任务结束!.”) 使用excel和word类.EC
第二种:.版本 2
.支持库 ExuiKrnln
.支持库 spec
.子程序 写出WORD文件2
.局部变量 文本组, 文本型, , "0"
.局部变量 局_Word对象, 对象
.局部变量 局_Documents对象, 对象
.局部变量 局_Document对象, 对象
.局部变量 局_Window对象, 对象
.局部变量 局_Selection, 对象
.局部变量 局_Range对象, 对象
.局部变量 文件名, 文本型
.局部变量 index, 整数型
.如果真 (局_Word对象.创建 (“Word.Application”, ) = 假) ' 创建
处理事件 ()
信息框 (“您的计算机中可能没有安装Word程序!”, #错误图标, “错误”, )
返回 ()
.如果真结束
局_Word对象.写属性 (“Visible”, 真) ' 是否可视
局_Document对象 = 局_Word对象.读对象型属性 (“Documents”, ).对象型方法 (“Add”, ) ' 新建文档
处理事件 ()
程序_延时 (3, 1)
数组清零 (文本组)
文本_分割文本 (富文本框EX1.内容, #换行符, , 文本组)
.计次循环首 (取数组成员数 (文本组), index)
.如果 (取文本左边 (文本组 [index], 4) = “http”)
' 集_图片 = 局_Word对象.读对象型属性 (“Shapes”, ).对象型方法 (“AddPicture”, 文本组 [index], 真, 真)
局_Word对象.读对象型属性 (“Selection”, ).读对象型属性 (“InlineShapes”, ).方法 (“AddPicture”, 文本组 [index])
' 集_图片.读对象型属性 (“WrapFormat”, ).写属性 (“Type”, 3) ' 设置文字环绕图片
' 集_图片.写属性 (“Left”, 50) ' 图片左边距
' 集_图片.写属性 (“Top”, 200) ' 图片顶边距
' 集_图片.写属性 (“LockAspectRatio”, 真) ' 图片锁定长宽比
' 集_图片.写属性 (“Height”, 222) ' 图片高度
' 集_图片.写属性 (“Width”, 333) ' 图片宽度
' 局_Selection.方法 (“TypeParagraph”, ) ' 输入回车
' 集_图片.读对象型属性 (“WrapFormat”, ).写属性 (“Type”, index) ' 设置文字环绕图片
' 集_图片.写属性 (“Left”, 50) ' 图片左边距
' 集_图片.写属性 (“Top”, 200) ' 图片顶边距
' 集_图片.写属性 (“LockAspectRatio”, 真) ' 图片锁定长宽比
' 集_图片.写属性 (“Height”, 222) ' 图片高度
' 集_图片.写属性 (“Width”, 333) ' 图片宽度
.否则
局_Window对象 = 局_Word对象.读对象型属性 (“ActiveWindow”, )
局_Selection = 局_Window对象.读对象型属性 (“Selection”, )
局_Selection.方法 (“TypeText”, 文本组 [index]) ' 内容
局_Selection.方法 (“TypeParagraph”, ) ' 输入回车
.如果结束
处理事件 ()
延迟 (1000)
.计次循环尾 ()
保存目录 = 取运行目录 () + “\” + “公众号文章” + “\” + 公众号名称
.如果真 (取反 (文件是否存在 (保存目录)))
创建目录 (保存目录)
.如果真结束
文件名 = 保存目录 + “\” + 编辑框EX2.内容 + “.doc”
局_Document对象.对象型方法 (“SaveAs”, 文件名).是否为空 ()
局_Word对象.读对象型属性 (“Documents”, ).方法 (“Close”, )
局_Word对象.方法 (“Quit”, )
局_Range对象.清除 ()
局_Selection.清除 ()
局_Window对象.清除 ()
局_Document对象.清除 ()
局_Documents对象.清除 ()
局_Word对象.清除 ()
第三种:.版本 2
.支持库 ExuiKrnln
.支持库 iext
.子程序 写图文内容
.局部变量 局_文件名, 文本型
.局部变量 Doc对象, 对象
.局部变量 Range对象, 对象
.局部变量 表格对象, 对象
.局部变量 文本组, 文本型, , "0"
.局部变量 index, 整数型
.局部变量 文件名, 文本型
.如果真 (局_Word对象.创建 (“Word.Application”, ) = 假) ' 创建
处理事件 ()
信息框 (“您的计算机中可能没有安装Word程序!”, #错误图标, “错误”, )
返回 ()
.如果真结束
局_Word对象.写属性 (“Visible”, 真)
处理事件 ()
局_Word对象.读对象型属性 (“Documents”, ).对象型方法 (“Open”, 取运行目录 () + “\模板.docx”) ' 新建文档
处理事件 ()
程序_延时 (3, 1)
' 局_Word对象.写属性 (“Visible”, 真) ' 是否可视
数组清零 (文本组)
文本_分割文本 (富文本框EX1.内容, #换行符, , 文本组)
.计次循环首 (取数组成员数 (文本组), index)
.如果 (取文本左边 (文本组 [index], 4) = “http”)
局_Word对象.读对象型属性 (“Selection”, ).读对象型属性 (“InlineShapes”, ).方法 (“AddPicture”, 文本组 [index])
处理事件 ()
.否则
' 局_Word对象.读对象型属性 (“Selection”, ).数值方法 (“EndKey”, 6)
局_Word对象.读对象型属性 (“Selection”, ).方法 (“TypeText”, 文本组 [index]) ' 内容
.如果结束
处理事件 ()
.计次循环尾 ()
局_Word对象.读对象型属性 (“ActiveDocument”, ).对象型方法 (“SaveAs”, 保存目录 + “\” + 编辑框EX2.内容 + “.docx”)
处理事件 ()
' 局_Word对象.读对象型属性 (“ActiveDocument”, ).对象型方法 (“SaveAs”, 文件名).是否为空 ()
局_Word对象.读对象型属性 (“Documents”, ).方法 (“Close”, )
局_Word对象.方法 (“Quit”, )
Range对象.清除 ()
Doc对象.清除 ()
局_Word对象.清除 ()
状态条1.置文本 (1, “写出成功!.”)
以上三种都能写出,最简单的是第一种,其实第二种方法是最好的,如果能完善成即可以图文混排,又能限定图片写入的尺寸这样出来的文件是最好的,可惜我是非专业人员,只是工作中写一些东西方便自己工作,所以,如果有朋友或大牛能完善第二种方法再好不过。以此记录。
|
评分
-
查看全部评分
|