为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 易语言例程 正文

批量转换PPT为PDF源码

三叶资源网 2024-03-16 12:11:38 易语言例程 247 ℃ 2 评论

批量转换PPT为PDF源码

.版本 2

.程序集 窗口程序集_启动窗口

.子程序 _按钮1_被单击
.局部变量 选取的目录, 文本型

选取的目录 = 删首尾空 (我的浏览文件夹 (“ || 浏览选取待导入、导出数据存放的目录||”, _启动窗口.取窗口句柄 ()))
编辑框1.内容 = 选取的目录
.如果 (取文本长度 (编辑框1.内容) > 57)
    编辑框1.是否允许多行 = 真
.否则
    编辑框1.是否允许多行 = 假
.如果结束


.子程序 _按钮2_被单击
.局部变量 目录路径, 文本型
.局部变量 PPT文件, 文本型
.局部变量 PPT文件组, 文本型, , "0"
.局部变量 Powerpoint, 对象
.局部变量 Presentation, 对象
.局部变量 Presentation1, 对象
.局部变量 pdf存放目录, 文本型
.局部变量 pdf文件, 文本型
.局部变量 ppti, 整数型
.局部变量 PPT文本, 文本型
.局部变量 PDF文本, 文本型

目录路径 = 删首尾空 (编辑框1.内容)
.如果真 (目录路径 = “”)
    API_定时信息框 (_启动窗口.取窗口句柄 (), “请先选取PPT文件的目录!”, “信息提示”, 48, 262144, 5000)
    返回 ()
.如果真结束

.如果真 (取文本中间 (目录路径, 2, 2) ≠ “:\”)
    API_定时信息框 (_启动窗口.取窗口句柄 (), “所选取的目录有问题!该目录如下:” + #换行符 + 目录路径, “信息提示”, 48, 262144, 5000)
    返回 ()
.如果真结束

目录路径 = 选择 (取文本右边 (目录路径, 1) = “\”, 取文本左边 (目录路径, 取文本长度 (目录路径) - 1), 目录路径)
.如果真 (目录是否存在 (目录路径) = -1)
    API_定时信息框 (_启动窗口.取窗口句柄 (), “选取的目录并不存在,选取的目录如下:” + #换行符 + 目录路径, “信息提示”, 48, 262144, 5000)
    返回 ()
.如果真结束

' 写测试:
.如果 (写到文件 (目录路径 + “\测试.tmp”, 到字节集 (“123456”)) = 真)
    .如果 (文件是否存在 (目录路径 + “\测试.tmp”) = 真)
        删除文件 (目录路径 + “\测试.tmp”)
    .否则
        API_定时信息框 (_启动窗口.取窗口句柄 (), “磁盘” + 到全角 (取文本左边 (目录路径, 1)) + “不能写入文件,请检查是否写保护!”, “信息提示”, 48, 262144, 5000)
        返回 ()
    .如果结束

.否则
    API_定时信息框 (_启动窗口.取窗口句柄 (), “磁盘” + 到全角 (取文本左边 (目录路径, 1)) + “不能写入文件,请检查是否写保护!”, “信息提示”, 48, 262144, 5000)
    返回 ()
.如果结束

PPT文件 = 寻找文件 (目录路径 + “\*.ppt”, )
.判断循环首 (PPT文件 ≠ “”)
    ' 输出调试文本 (PPT文件)
    加入成员 (PPT文件组, 目录路径 + “\” + PPT文件)
    PPT文件 = 寻找文件 (, )
.判断循环尾 ()
PPT文件 = 寻找文件 (目录路径 + “\*.pptx”, )
.判断循环首 (PPT文件 ≠ “”)
    ' 输出调试文本 (PPT文件)
    加入成员 (PPT文件组, 目录路径 + “\” + PPT文件)
    PPT文件 = 寻找文件 (, )
.判断循环尾 ()

.如果真 (取数组成员数 (PPT文件组) = 0)
    API_定时信息框 (_启动窗口.取窗口句柄 (), “在所选取的目录下找不到PPT文件。”, “信息提示”, 48, 262144, 5000)
    返回 ()
.如果真结束

PPT文本 = “”
.计次循环首 (取数组成员数 (PPT文件组), ppti)
    PPT文件 = PPT文件组 [ppti]
    PPT文件 = 取文本右边 (PPT文件, 取文本长度 (PPT文件) - 倒找文本 (PPT文件, “\”, , 假))
    PPT文本 = PPT文本 + PPT文件 + #换行符
.计次循环尾 ()
编辑框2.内容 = 取文本左边 (PPT文本, 取文本长度 (PPT文本) - 2)

.如果真 (API_定时信息框 (_启动窗口.取窗口句柄 (), “如下PPT文件将另存为PDF文件:” + #换行符 + PPT文本 + “另存过程可能有点长,请问是否继续?请确认!”, “询问信息”, 4 + 32 + 512, 262144, 8000) ≠ 6)
    返回 ()
.如果真结束

.如果真 (目录是否存在 (目录路径 + “\PDF文件”) = -1)  ' 目录不存在
    .如果真 (创建目录 (目录路径 + “\PDF文件”) = 假)
        API_定时信息框 (_启动窗口.取窗口句柄 (), “创建PDF文件存放的目录失败。”, “信息提示”, 48, 262144, 5000)
        返回 ()
    .如果真结束

.如果真结束

.如果真 (Powerpoint.是否为空 () = 假)
    Powerpoint.方法 (“Quit”, )
    Powerpoint.清除 ()
.如果真结束

.如果真 (Powerpoint.创建 (“Powerpoint.Application”, ) = 假)
    API_定时信息框 (_启动窗口.取窗口句柄 (), “请检查是否安装了微软Powerpoint组件。”, “信息提示”, 48, 262144, 5000)
    返回 ()
.如果真结束
Powerpoint.写属性 (“Visible”, 0)
Presentation = Powerpoint.读对象型属性 (“Presentations”, )
.如果真 (Presentation.是否为空 () = 真)
    Powerpoint.方法 (“Quit”, )
    Powerpoint.清除 ()
    API_定时信息框 (_启动窗口.取窗口句柄 (), “打开微软Powerpoint组件失败。”, “信息提示”, 48, 262144, 5000)
    返回 ()
.如果真结束

.如果真 (到数值 (Powerpoint.读文本属性 (“Version”, )) < 12)  ' 版本小于2007
    Powerpoint.方法 (“Quit”, )
    Powerpoint.清除 ()
    API_定时信息框 (_启动窗口.取窗口句柄 (), “Powerpoint组件版本过低,不能转为PDF文件。”, “信息提示”, 48, 262144, 5000)
    返回 ()
.如果真结束
PDF文本 = “”
.计次循环首 (取数组成员数 (PPT文件组), ppti)
    Presentation1 = Presentation.对象型方法 (“Open”, PPT文件组 [ppti], 1, 0, 0)
    pdf文件 = PPT文件组 [ppti]
    pdf文件 = 取文本右边 (pdf文件, 取文本长度 (pdf文件) - 倒找文本 (pdf文件, “\”, , 假))
    pdf文件 = 取文本左边 (pdf文件, 倒找文本 (pdf文件, “.”, , 假) - 1)
    pdf文件 = 目录路径 + “\PDF文件\” + pdf文件 + “.pdf”
    Presentation1.方法 (“SaveCopyAs”, pdf文件, 32, -2)
    Presentation1.方法 (“Close”, )
    .如果真 (文件是否存在 (pdf文件))
        PDF文本 = PDF文本 + 取文本右边 (pdf文件, 取文本长度 (pdf文件) - 倒找文本 (pdf文件, “\”, , 假)) + #换行符
    .如果真结束

.计次循环尾 ()
编辑框3.内容 = 取文本左边 (PDF文本, 取文本长度 (PDF文本) - 2)
Powerpoint.方法 (“Quit”, )
Powerpoint.清除 ()

.子程序 _按钮3_被单击

结束 ()

.子程序 我的浏览文件夹, 文本型, , 弹出选择文件夹对话框,返回目录
.参数 窗口标题, 文本型, , 窗口标题
.参数 父窗口句柄, 整数型, , 调用窗口的句柄
.局部变量 bi, BROWSEINFO
.局部变量 ret, 整数型
.局部变量 pidl, 整数型
.局部变量 Path, 文本型

bi.hOwner = 父窗口句柄  ' 句柄
bi.pidlRoot = 0  ' 展开根目录
bi.lpszTitle = 窗口标题  ' 列表框标题
bi.ulFlags = 1
pidl = SHBrowseForFolder (bi)
Path = 取空白文本 (254)
ret = SHGetPathFromIDList (pidl, Path)  ' 利用API函数获取返回的路径
返回 (Path)

.子程序 目录是否存在, 整数型
.参数 测试的目录名, 文本型

.如果 (位与 (取文件属性 (测试的目录名), #子目录) ≠ 0 且 取文件属性 (测试的目录名) ≠ -1)
    .如果 (位与 (取文件属性 (测试的目录名), #隐藏文件) ≠ 0 且 取文件属性 (测试的目录名) ≠ -1)
        返回 (0)  ' 文件夹存在,且为隐藏的。
    .否则
        返回 (1)  ' 文件夹存在,目录不隐藏
    .如果结束

.否则
    返回 (-1)
.如果结束

@gdhong


文件下载
资源名称:批量转换PPT为PDF源码


来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

已有2位网友发表了看法:

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
多功能记事本捕获网卡聊天室例程websocketcleverQQ机器人插件内存池源码SmartQQ协议源码tcp协议世宝教程正则整理排序对象模式多关键词筛选PostgreSQL数据库取色器源码软件异常重启动态加密算法黑月教程取文件列表socks4字节集搜索
最新评论