最近我一直在为公司创建PowerPoint演示文稿.我大部分都是在PowerPoint中这样做的.基本上它们是由相同的设计创建的,但只是设置位置中的不同数字,以及用于生成PowerPoint条形图/饼图图形的不同数字.(基本上插入这些饼图对象时,可以选择更改设计,并在弹出的某些Excel电子表格中输入数字).
假设我正在为100家公司做这件事:是不是只能指定我需要的所有不同值,并以某种方式创建powerpoint?我可以提供一个设计基础,它只需要进入并改变动态值(没有任何栅格).
这对于PowerPoint来说甚至都不是问题:如果我可以使用Keynote(例如,自动化饼图,条形图以及使用数字和静态文本设置场所),那么这也是有效的.
编辑:我提到我知道PowerPoint饼图/条形图是从Xxcel电子表格生成的.我的演讲中大约有3个,以及静态位置中的其他变化值,在100个左右的演示中.我希望编写所有或大部分过程的脚本.
编辑:使用PowerPoint 2007或最新版本的Keynote.使用Keynote编写脚本的首选方法可能是AppleScript,使用PowerPoint 2007,Python/Django或宏.
我有一个XElement,我需要通过动态xml文字/嵌入式表达式创建,我需要它继承默认命名空间.通过我尝试的一切,这似乎不可能.有谁知道如何使这项工作?
例如
Imports <xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
Sub CreateXAML()
Dim obj = "Rectangle"
Dim objFill As String = obj & ".Fill"
Dim myXML As XElement = <<%= obj %>><<%= objFill %>>no namespace</></>
Dim myXML2 As XElement = <Path><Path.Fill>inherits namespace</Path.Fill></Path>
MsgBox(myXML.ToString & vbCrLf & myXML2.ToString)
End Sub
Run Code Online (Sandbox Code Playgroud)
第一个,myXML不是使用默认ns创建的,而第二个myXML2是,.
Presentation.Export(filename, "PNG", sizeX, sizeY); 创建PowerPoint演示文稿中所有幻灯片的缩略图。
我的问题是缩略图文件名会根据PowerPoint的语言而变化。在英语PowerPoint上,缩略图文件是:“ slide1.png”,“ slide2.png”等。在希伯来语PowerPoint上:?????? 1.png,?????? 2.png等。
如何导出到PNG时控制每张幻灯片的名称?
我知道Silverlight 4通过AutomationFactory该类支持COM互操作.
dynamic excel = AutomationFactory.CreateObject( "Excel.Application" );
excel.Visible = true;
Run Code Online (Sandbox Code Playgroud)
但是这会为COM对象创建一个单独的窗口.我在这里缺少的是,如果我实际上能够在我的Silverlight应用程序中实际托管Office文档 - 例如在ContentPresenter中?
我需要使用C#更改幻灯片的布局(使用Add-In Express 2009 for Office和.NET).如果新布局是预定义的布局,那么一切都很好,但如果我需要将自定义布局设置为新布局(没有幻灯片重新创建)则不行.不幸的是,我没有找到任何关于如何做的信息,PowerPoint对象模型参考文档也没有回答我.只能创建使用自定义布局的新幻灯片.
我已经做了一个实验并确保Slide对象保持不变,而我一直在更改预定义和自定义布局.当我只需要切换布局时,我不想创建新的幻灯片.
有可能吗?请帮我找到一种方法.
我在 PowerPoint 2003 SP3 中使用宏在 Excel 工作簿中查找指定图表,将其复制,然后将其作为增强型元文件粘贴到当前幻灯片中,最终使用以下代码行:
Application.ActiveWindow.View.PasteSpecial DataType:=ppPasteEnhancedMetafileRun Code Online (Sandbox Code Playgroud)
只要它有效,我也会收到以下错误:
运行时错误“-2147188160 (80048240)”: 查看(未知成员):请求无效。指定的数据类型不可用。
如果我结束宏并尝试手动将特殊粘贴为增强型元文件,则没有问题,因此剪贴板对象或粘贴特殊类型并非无效。
有没有其他人经历过这种情况?您有解决方案或解决方法吗?Google 搜索中关于此错误的结果很少,也没有解决方案。
更新
一般代码如下:
Set presPPTCurrent = ActivePresentation
Set objXLApp = GetObject(, "Excel.Application")
''#Find the target chart and copy it to the clipboard
With objXLApp
''#This part works - if I go to Excel, I can see that the chart is copied
End With
''#Now paste in the chart as an Enhanced Metafile
presPPTCurrent.Application.Activate
Application.ActiveWindow.View.PasteSpecial DataType:=ppPasteEnhancedMetafile
Run Code Online (Sandbox Code Playgroud)
请注意,这是在传递 Shape 的 Sub 中(传递的 Shape 用作在 Excel 中查找图表的参考)。我已经意识到,当我尝试在从另一个 Sub …
我有一个包含大约50张幻灯片的PowerPoint.每张幻灯片可能有一个或多个由reviwer提供的注释(使用insert-> comment菜单完成).
我试图使用此VBA代码以编程方式将注释导出到文本文件中:
Sub ConvertComments()
''# Converts new-style comments to old
Dim oSl As Slide
Dim oSlides As Slides
Dim oCom As Comment
Set oSlides = ActivePresentation.Slides
For Each oSl In oSlides
For Each oCom In oSl.Comments
''# write the text to file : (oCom.Text)
WriteToATextFile oCom.Author, <what needs to come here>, oCom.Text
Next oCom
Next oSl
End Sub
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我需要提供注释上下文以及写入文本文件(幻灯片中的哪一行被选中并评论)
问题:我可以使用任何属性来获取此信息吗?
在大多数情况下shape.Parent,幻灯片包含形状.
但是,如果您尝试删除一个组,然后按下撤消(形状将重新出现),但子形状将为两个.Parent和组件抛出异常.ParentGroup.
如何在上面的案例中找到形状的幻灯片ID?
我有以下代码打开Excel模板文件并将其保存为.xlsx文件,当我尝试打开新文件时,我收到以下错误.请帮忙解决这个问题.
Excel无法打开文件'sa123.xlsx',因为文件格式或扩展名无效.验证文件是否已损坏,以及文件扩展名是否与文件格式匹配.
string templateName = "C:\\temp\\sa123.xltx";
byte[] docAsArray = File.ReadAllBytes(templateName);
using (MemoryStream stream = new MemoryStream())
{
stream.Write(docAsArray, 0, docAsArray.Length); // THIS performs doc copy
File.WriteAllBytes("C:\\temp\\sa123.xlsx", stream.ToArray());
}
Run Code Online (Sandbox Code Playgroud) 我找不到任何办法这样做.我现在拥有的是它将范围复制为图像:
Dim XLApp As Excel.Application
Dim PPSlide As Slide
Set XLApp = GetObject(, "Excel.Application")
XLApp.Range("A1:B17").Select
XLApp.Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
PPSlide.Shapes.Paste.Select
Run Code Online (Sandbox Code Playgroud)
这就像一个魅力,但它是否可以让它将范围复制为表而不是图片?
powerpoint ×7
vba ×4
c# ×2
excel ×2
com-interop ×1
keynote ×1
openxml ×1
openxml-sdk ×1
presentation ×1
silverlight ×1
vb.net ×1
xml-literals ×1