Foxtable(狐表)用户栏目专家坐堂 → 关于PPT报表


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

主题:关于PPT报表

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


加好友 发短信
等级:三尾狐 帖子:668 积分:8555 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2017/10/15 15:53:00 [显示全部帖子]

以下是引用有点色在2017/6/20 12:09:00的发言:

 

暂时不会有ppt报表。你可以用代码操作ppt

 

引用dll

 

 下载信息  [文件大小:1.3 MB  下载次数:2]
图片点击可在新窗口打开查看点击浏览该文件:microsoft.office.interop.powerpoint.zip

执行代码

 

Dim app As new Microsoft.Office.Interop.PowerPoint.Application
Dim ppt = app.Presentations.Open("g:\test.pptx",0,0,0)
msgbox(Microsoft.Office.Interop.PowerPoint.PpFixedFormatType.ppFixedFormatTypePDF)
ppt.saveas("e:\test.pdf", 32, 1)
app.quit

 

这个例子能直接将PPT转成PDF了,那如果要将PDF转成PPT话,请问这段代码应该怎么修改?


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


加好友 发短信
等级:三尾狐 帖子:668 积分:8555 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2017/10/15 16:16:00 [显示全部帖子]

以下是引用有点甜在2017/10/15 16:08:00的发言:

 pdf转图片,新增ppt,ppt插入一张张图片。这样可以代码实现。

 

 pdf可以直接转为ppt,网上有软件/工具,但基本都是付费的。

有点甜,第一句中的用代码实现,能给个简单的例子吗?谢谢!http://bbs.csdn.net/topics/391937345 这个参考是C#代码,不知道怎么转成狐表的代码,麻烦有点甜 给个简单的例子,谢谢!


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


加好友 发短信
等级:三尾狐 帖子:668 积分:8555 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2017/10/15 16:37:00 [显示全部帖子]

感谢!今晚试试

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


加好友 发短信
等级:三尾狐 帖子:668 积分:8555 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2017/10/15 23:32:00 [显示全部帖子]

C#代码:

Microsoft.Office.Interop.PowerPoint.Application PPT = new Microsoft.Office.Interop.PowerPoint.Application();//创建PPT应用
Microsoft.Office.Interop.PowerPoint.Presentation MyPres = null;//PPT应用的实例
Microsoft.Office.Interop.PowerPoint.Slide MySlide = null;//PPT中的幻灯片

MyPres = PPT.Presentations.Open("D:\test.pptx", MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoTrue);//此处将一个PPT实例给了MyPres

MySlide = MyPres.Slides.Add(1, Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutBlank);//像PPT实例中,添加一个空白页,位置是“第一页”

 

在线转换成的VB代码:

Dim PPT As New Microsoft.Office.Interop.PowerPoint.Application()

'创建PPT应用
Dim MyPres As Microsoft.Office.Interop.PowerPoint.Presentation = Nothing

'PPT应用的实例
Dim MySlide As Microsoft.Office.Interop.PowerPoint.Slide = Nothing 'PPT中的幻灯片

MyPres = PPT.Presentations.Open("D:" & vbTab & "est.pptx", MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoTrue)

'此处将一个PPT实例给了MyPres
MySlide = MyPres.Slides.Add(1, Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutBlank)
'像PPT实例中,添加一个空白页,位置是“第一页”

 

在命令窗口中执行 报错 如下截图

 


此主题相关图片如下:qq图片20171015233021.png
按此在新窗口浏览图片

 

请问是这错误是什么意思呢?

[此贴子已经被作者于2017/10/15 23:34:04编辑过]

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


加好友 发短信
等级:三尾狐 帖子:668 积分:8555 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2017/10/16 10:16:00 [显示全部帖子]

Dim PPT As New Microsoft.Office.Interop.PowerPoint.Application()
'创建PPT应用
Dim MyPres As Microsoft.Office.Interop.PowerPoint.Presentation = Nothing
'PPT应用的实例
Dim MySlide As Microsoft.Office.Interop.PowerPoint.Slide = Nothing 'PPT中的幻灯片
MyPres = PPT.Presentations.Open("D:" & vbTab & "est.pptx", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue)
'此处将一个PPT实例给了MyPres
MySlide = MyPres.Slides.Add(1, Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutBlank)
'像PPT实例中,添加一个空白页,位置是"第一页"

 

添加上去后,提示如下图错误

 


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20171016101224.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:三尾狐 帖子:668 积分:8555 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2017/10/16 10:52:00 [显示全部帖子]

路径是 直接C# 那直接转换 过来的,原路径 “D:\TEST.PPTX”

但改成
MyPres = PPT.Presentations.Open("D:\test.pptx", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoTrue)

也是会报错,如下图
 

此主题相关图片如下:qq图片20171016105051.png
按此在新窗口浏览图片

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


加好友 发短信
等级:三尾狐 帖子:668 积分:8555 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2017/10/16 23:46:00 [显示全部帖子]

Dim PPT As New Microsoft.Office.Interop.PowerPoint.Application()
'创建PPT应用
Dim MyPres As Microsoft.Office.Interop.PowerPoint.Presentation = Nothing
'PPT应用的实例
Dim MySlide As Microsoft.Office.Interop.PowerPoint.Slide = Nothing 'PPT中的幻灯片
Dim k as integer = 5 ' 设置添加的页数
For i As Integer = 1 To k
    MyPres = PPT.Presentations.Open("D:\test.pptx", 0,0,0)
    '此处将一个PPT实例给了MyPres
    MySlide = MyPres.Slides.Add(1, Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutBlank)
    '像PPT实例中,添加一个空白页,位置是"第一页"
    MySlide.Shapes.AddPicture("D:\" & i & ".jpg", 1, 1, 27F, 24F, 665F, 450F)
Next
PPT.quit
output.show("完成")

如果我想根据 设定的 k 页数来 添加,该如何改呢?我将 1 改成 2 或者其他就会报错了,而且每次打开仅显示一张图片,关闭后再打开就显示第2张图片,直到最后 图片就没了。
[此贴子已经被作者于2017/10/17 0:21:00编辑过]

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


加好友 发短信
等级:三尾狐 帖子:668 积分:8555 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2017/10/17 14:20:00 [显示全部帖子]

奇怪,现在是可以将N张图片一次性插入了,但第一次打开能看到插入的图片了,再次打开就变成空白的了,全部被删除了,这是怎么回事呢?

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


加好友 发短信
等级:三尾狐 帖子:668 积分:8555 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2017/10/17 16:10:00 [显示全部帖子]

以下是引用有点甜在2017/10/17 15:32:00的发言:

1、最后你保存了ppt了吗?

 

2、你打开是直接双击打开还是怎样的?


代码运行完后就直接双击打开ppt看下效果,跟着就关闭,没提示要保存,再次打开就变成空白的PPT文件了,里面的图片都没了


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


加好友 发短信
等级:三尾狐 帖子:668 积分:8555 威望:0 精华:0 注册:2011/5/5 23:55:00
  发帖心情 Post By:2017/10/17 22:06:00 [显示全部帖子]

以下是引用有点甜在2017/10/17 18:51:00的发言:

 

难倒你最后没有save?

 

MyPres.save

PPT.quit
output.show("完成")

哈哈哈,被您猜中了图片点击可在新窗口打开查看


 回到顶部
总数 11 1 2 下一页