嗨大家好:我想使用原始文本文件创建一个功率点演示文稿,这样我就可以快速编辑文件并查看结果,并使用统一格式保存。基本上,我在谈论将数据内容与演示文稿分开。
我该怎么做?我想也许乳胶可能是一个选择。我还看到有针对Powerpoint和开放式办公室演示文稿的API。
答案 0 :(得分:1)
如果您只需要带标题和项目符号文字的幻灯片,那就非常简单了。创建一个如下所示的txt文件(使用TAB键代替下面):
Slide 1 Title
<tab>Bullet Level One Text
<tab><tab>Bullet Level Two Text
<tab>Back to Bullet Leven One again
Slide 2 Title
Slide 3 Title
<tab>More Bulleted text
<tab><tab>Tufte hates us by now
<tab><tab>But we don't care, do we?
Slide 4 Title
等等。保存文件,启动PowerPoint,选择文件打开命令,在文件打开对话框中选择大纲或所有类型的文件,然后选择您的TXT文件。完成。
答案 1 :(得分:1)
Powerpoint通过COM公开它的API - 这使得可以(几乎)在GUI中以任何支持COM的编程语言执行任何操作。难点在于API在版本之间发生变化。扩展API的一种方法是使用宏录制工具手动执行一张幻灯片,然后将其转换为目标语言。
我已经为Powerpoint 2003提供了一些旧的(最近没有经过测试的)python代码,它可以根据您的布局需求让您了解代码的外观。
from win32com.client import Dispatch
ppLayoutTitle = 1
ppLayoutText = 2
def writePresentation( fname, data ):
pptApp = Dispatch('Powerpoint.Application')
pres = pptApp.ActivePresentation
aw = pptApp.ActiveWindow
slides = pres.Slides
for item in data:
t1 = item[0]
t2 = item[1]
stype = item[2]
assert(stype in [ppLayoutTitle,ppLayoutText])
s = slides.Add( slides.Count, stype )
aw.View.GotoSlide(s.SlideIndex)
s.Shapes.Item(1).Select()
aw.Selection.ShapeRange.TextFrame.TextRange.Select()
aw.Selection.ShapeRange.TextFrame.TextRange.Characters(Start=1, Length=0).Select
tr = aw.Selection.TextRange
tr.Text = t1
s.Shapes.Item(2).Select()
aw.Selection.ShapeRange.TextFrame.TextRange.Select()
if stype == ppLayoutText:
aw.Selection.ShapeRange.TextFrame.TextRange.ParagraphFormat.Bullet.Visible = 0
aw.Selection.ShapeRange.TextFrame.TextRange.Characters(Start=1, Length=0).Select
tr = aw.Selection.TextRange
tr.Text = t2
slides.Range(slides.Count).Delete()
pres.SaveAs(fname)
修改强>
Openoffice(可以导出到powerpoint)也随附scripting API,可以用来解决类似的问题。