[/quote
]下面这段是我做的多线程的,我对多线程不是很熟悉,代码就随便看下吧。这代码有个检测word程序是否关闭的动作,在程序打开后word会在后台启动了很多个,或者是前面关闭了又关闭失败的,导致程序崩溃或者保存出错,这儿用代码直接关闭完。
[e=1
].版本 2
变量名 | 类 型 | 静态 | 数组 | 备 注 |
文件名称 | 文本型 | | |
寻找标题 | 文本型 | | |
文件名称2 | 文本型 | | |
保存的文档 | 文本型 | | |
分割文章数组 | 文本型 | | 0 |
I | 整数型 | | |
卧槽 | 正则表达式类 | | |
如果 (编辑框1.内容 ≠
“”)卧槽.
创建 (“标题” +
“.*?”, 编辑框1.内容
)导出线程数 = 卧槽.
取匹配数量 ()透明标签1.标题 =
“文案导出中,耐心等待-(当前开启的多线程)” +
“ 获得的文章数为:” +
到文本 (导出线程数
) +
“篇文章”创建目录 (取运行目录 () +
“\生成的文案”)计次循环首 (导出线程数,
)I =
文本_分割文本 (编辑框1.内容,
“标题:”, I, 分割文章数组
)保存的文档 =
“标题:” +
文本_替换 (分割文章数组
[I
], , , ,
“段落一:”,
“”,
“段落二:”,
“”,
“段落三:”,
“”, , , ,
)文件名称 =
文本_取出文本中汉字 (文本_取出中间文本 (“标题:” + 分割文章数组
[I
],
“标题:”,
“段落”,
))
文件名称2 =
到文本 (取月份 (取现行时间 ())
) +
“.” +
到文本 (取日 (取现行时间 ())
) +
“.” +
到文本 (取秒 (取现行时间 ())
)调试输出 (“保存的文档:” + 保存的文档
)调试输出 (“文件名称:” + 文件名称
)调试输出 (“文件名称2:” + 文件名称2
)Word程序1.
创建 ()Word文档集1.
置程序 (Word程序1,
真)Word文档集1.
输入文本 (0, 保存的文档 +
#换行符 +
#换行符 +
“自定义文案~”)如果 (文件名称 ≠
“”)Word文档集1.
保存 (取运行目录 () +
“\生成的文案\” + 文件名称 +
“.docx”)Word文档集1.
保存 (取运行目录 () +
“\生成的文案\” + 文件名称2 +
“.docx”)处理事件 ()计次循环尾 ()Word文档集1.
关闭 ()Word文档集1.
销毁 ()Word程序1.
退出 ()Word程序1.
销毁 ()透明标签1.标题 =
“保存成功!”延迟 (5000
)如果 (透明标签1.标题 =
“保存成功!” =
真)判断循环首 (进程是否存在 (“wps.exe”))
如果 (终止进程 (“wps.exe”) =
真)调试输出 (“wps.exe 结束成功!”)调试输出 (“wps.exe 结束失败!”)判断循环尾 ()变量名 | 类 型 | 静态 | 数组 | 备 注 |
进程数组 | 进程信息 | | 0 |
n | 整数型 | | |
进程数组 =
取系统进程列表 ()计次循环首 (取数组成员数 (进程数组
), n
)如果真 (到小写 (进程数组
[n
].进程名称
) =
到小写 (待检测进程
))
返回 (真)计次循环尾 ()返回 (假)
下面这段是我做的多线程的,我对多线程不是很熟悉,代码就随便看下吧。这代码有个检测word程序是否关闭的动作,在程序打开后word会在后台启动了很多个,或者是前面关闭了又关闭失败的,导致程序崩溃或者保存出错,这儿用代码直接关闭完。
[e=1].版本 2
.支持库 iext
.支持库 spec
.支持库 eWord2000
.支持库 eAPI
.子程序 多线程导出
.局部变量 文件名称, 文本型
.局部变量 寻找标题, 文本型
.局部变量 文件名称2, 文本型
.局部变量 保存的文档, 文本型
.局部变量 分割文章数组, 文本型, , "0"
.局部变量 I, 整数型
.局部变量 卧槽, 正则表达式类
.如果 (编辑框1.内容 ≠ “”)
卧槽.创建 (“标题” + “.*?”, 编辑框1.内容)
导出线程数 = 卧槽.取匹配数量 ()
透明标签1.标题 = “文案导出中,耐心等待-(当前开启的多线程)” + “ 获得的文章数为:” + 到文本 (导出线程数) + “篇文章”
.否则
.如果结束
创建目录 (取运行目录 () + “\生成的文案”)
.计次循环首 (导出线程数, )
I = 文本_分割文本 (编辑框1.内容, “标题:”, I, 分割文章数组)
保存的文档 = “标题:” + 文本_替换 (分割文章数组 [I], , , , “段落一:”, “”, “段落二:”, “”, “段落三:”, “”, , , , )
文件名称 = 文本_取出文本中汉字 (文本_取出中间文本 (“标题:” + 分割文章数组 [I], “标题:”, “段落”, ))
文件名称2 = 到文本 (取月份 (取现行时间 ())) + “.” + 到文本 (取日 (取现行时间 ())) + “.” + 到文本 (取秒 (取现行时间 ()))
调试输出 (“保存的文档:” + 保存的文档)
调试输出 (“文件名称:” + 文件名称)
调试输出 (“文件名称2:” + 文件名称2)
Word程序1.创建 ()
Word文档集1.置程序 (Word程序1, 真)
Word文档集1.输入文本 (0, 保存的文档 + #换行符 + #换行符 + “自定义文案~”)
.如果 (文件名称 ≠ “”)
Word文档集1.保存 (取运行目录 () + “\生成的文案\” + 文件名称 + “.docx”)
.否则
Word文档集1.保存 (取运行目录 () + “\生成的文案\” + 文件名称2 + “.docx”)
.如果结束
处理事件 ()
.计次循环尾 ()
Word文档集1.关闭 ()
Word文档集1.销毁 ()
Word程序1.退出 ()
Word程序1.销毁 ()
透明标签1.标题 = “保存成功!”
延迟 (5000)
.如果 (透明标签1.标题 = “保存成功!” = 真)
.判断循环首 (进程是否存在 (“wps.exe”))
.如果 (终止进程 (“wps.exe”) = 真)
调试输出 (“wps.exe 结束成功!”)
.否则
调试输出 (“wps.exe 结束失败!”)
.如果结束
.判断循环尾 ()
.否则
.如果结束
.子程序 进程是否存在, 逻辑型
.参数 待检测进程, 文本型
.局部变量 进程数组, 进程信息, , "0"
.局部变量 n, 整数型
进程数组 = 取系统进程列表 ()
.计次循环首 (取数组成员数 (进程数组), n)
.如果真 (到小写 (进程数组 [n].进程名称) = 到小写 (待检测进程))
返回 (真)
.如果真结束
.计次循环尾 ()
返回 (假)