Tag: powerpoint

从Excel VBA运行Powerpoint子

我需要从Excel中的一个子运行一个PowerPoint子。 原因是大多数PowerPoint操作运行速度要快得多,而且从PowerPoint中的子文件运行时的错误要less于从Excel中的子文件运行时的错误。 我正在尝试使用Application.Run(Macroname_As_String) ,我使用PptApp代替Application和PptApp加载为: Dim PptApp As PowerPoint.Application Set PptApp = CreateObject("PowerPoint.Application") 我试过将Presentation1.pptm!UpdateOLELinks和UpdateOLELinks引用到VBA脚本中。 文件和VBA脚本/只是VBA脚本。 我得到的错误: “方法'运行'对象'_Application'失败”。 我的VBA脚本UpdateOLELinks位于Presentation1 Module1中。 有任何想法吗?

将图表复制到powerpoint,同时保持源格式

我有一个包含饼图的Excel工作表,我想将它复制到PowerPoint幻灯片(幻灯片编号10)。 我也想保持源格式 , 如果我在饼图中进行任何格式更改 , 它也应该在幻灯片中修改 。 有没有任何vba编码? 遇到这个代码,但它似乎并没有为我工作。 'copy the chart from Excel xlSheet.ChartObjects(ChartName).Select xlSheet.ChartObjects(ChartName).Copy 'Select Slide Set mySlide = myPresentation.Slides(Charts(r).SlideName) mySlide.Select 'stall to make sure the slide is selected For k = 1 To 1000 DoEvents Next k 'paste on selected slide PPApp.CommandBars.ExecuteMso ("PasteSourceFormatting") PPApp.CommandBars.ReleaseFocus 'sit and wait for changes to be made […]

在PowerPoint演示文稿上closures运行vba代码

我有一个从Excel电子表格中提取数据的演示文稿。 我正在使用这个创build一个新的Excel实例: Public Sub InitExcel() If xlApp Is Nothing Then Set xlApp = New Excel.Application xlApp.DisplayAlerts = False Set wbWorkbook = xlApp.Workbooks.Open(ActivePresentation.Path & "\Data.xlsx", ReadOnly:="True", Notify:="false") xlApp.DisplayAlerts = True Set wsTechnologies = wbWorkbook.Worksheets("Technologies") End Sub 然后,一旦我检索数据,我closuresExcel xlApp.Quit xlApp = Nothing 不幸的是,这有两个问题。 一个是它并不总是closuresExcel,而且我总是在任务pipe理器中至less留下一个实例。 另一个是我想要显示不同的数据,每当用户点击不同的形状,所以我现在正在做的方式,每次发生点击事件Excel必须初始化,获取数据,并退出。 ..很慢。 那么有没有更好的方法来与Excel接口? 我可以初始化一次,让它打开,并告诉它一旦用户退出演示文稿退出? 还是有另一种方式? 更新:我发现有一种方法可以触发事件 。 打电话后仍然留有一个松散的Excel实例 xlApp.quit 和 set xlApp = […]

运行macros – Power Point后,图表不会更新

我有一个Power Point演示文稿,大约200张幻灯片。 每张幻灯片都有一张图表,每个月份的数据都通过链接到一个主xlsx文件进行更新。 为了不在图表中显示空值(未来几个月),我必须打开每个图表的数据编辑器(图表右键>编辑数据…),并select范围,直到当前月份。 我在Power Point中为它写了一个macros,如下所示: Sub Refresh_slides() For i = 1 To ActivePresentation.Slides.Count Set ObjSlide = ActivePresentation.Slides(i) On Error Resume Next Set mychart = ObjSlide.Shapes("Chart 3").Chart mychart.Select mychart.ChartData.Activate Set wb = mychart.ChartData.Workbook Set ws = wb.Worksheets(1) Application.Run "Refresh_slides_AUX.xlsm!atual_slide" wb.Close True Next End Sub Refresh_slides_AUX.xlsm是一个辅助的macros工作表,用于select每个图表的正确范围(因为Power Point VBA,只要我知道,没有必要这样做): Sub atual_slide() Windows("Gráfico no Microsoft PowerPoint").Activate ActiveSheet.ListObjects("Table1").Resize Range("$A$1:$I$23") […]

将格式化的表格从excel粘贴到ppt表示的macros会不正常地崩溃

我在Excel中创build了macros,使用Excel报表将大量表格复制并粘贴到Powerpoint演示文稿中。 使用“Keep source formatting”方法粘贴表格,如果字体较小,粘贴macros后将字体大小更改为7,并将表格放在幻灯片的正确位置。 问题是,macros在两个应用程序之间跳过,每个粘贴都耗时,所以有时macros会崩溃/冻结 – 例如,为同一个报表运行macros时,我收到不同的结果的次数不同 – 有时会成功地生成演示文稿几分钟后,幻灯片15上的macros崩溃,在另一次运行中幻灯片41上的崩溃,完全相同的报告。 有没有一种方法来运行macros作为后台进程来启用Excel的性能没有任何错误或任何方式,以避免Excel不时破碎…我将不胜感激任何意见/build议! 下面是我用来粘贴表格并在需要的表格范围被复制时改变字体大小的支持macros的代码: Sub PastewithSourceFormatting_table(iSlide As Integer, table_name As Object) Dim shapes_number As Integer Dim shapes_number_new As Integer Dim v_size As Byte Dim row_num As Integer Dim col_num As Integer shapes_number_new = 0 shapes_number = 0 v_size = 0 row_num = 0 col_num = 0 Set PPSlide […]

Excel VBA,添加新幻灯片到PPT时出现错误438

我试图在已打开的excel文件中的每个图表的现有PowerPoint演示文稿中添加silde。 VBA不断抛出错误。 在这里pptApp.ActivePresentation.Add我不断收到一个错误,该对象不支持方法并在这里ActiveChart.ChartArea.Copy该对象variables没有设置。 是如同绝望吗? Option Explicit #Const EARLYBINDING = False Sub CopyAndLinkAllChartsToExistingPPT() #If EARLYBINDING Then Dim pptApp As PowerPoint.Application Dim pptPres As PowerPoint.Presentation Dim pptSlide As PowerPoint.Slide #Else Dim pptApp As Object Dim pptPres As Object Dim pptSlide As Object Const ppLayoutTitle = 1 #End If Dim workS As Worksheet Dim chartS As Excel.ChartObjects Dim […]

在Powerpoint中粘贴位图图像,无法resize。 错误selection.shaperange:无效的请求。 没有合适的select

I'm running vba to copy and paste ranges from Excel to PPT and I just changed the paste type to Bitmap and now I keep getting this error: – selection.shaperange: invalid request . nothing appropriate is being selected on this line of code: – PPApp.ActiveWindow.Selection.ShapeRange.Left = 0 I have Excel 2010 and need to use […]

使用VBa自动调整PowerPoint中的粘贴数据透视表对象中的文本

我正试图自动在PowerPoint中粘贴的数据透视表对象中的文本。 我已成功地将透视表粘贴到PowerPoint中,但无法弄清楚如何更改形状中的字体大小,或者甚至更好地将字体自动适应形状。 这甚至有可能吗? 这是我试图改变字体..什么都没有工作。 Set ppShape = PPSlide.Shapes(2) With ppShape.TextFrame.TextRange.Font .Size = 16 .Bold = True End With 我使用PasteSpecial Default来粘贴数据透视表。我想知道这是否与它有关。 PPSlide.Shapes.PasteSpecial (ppPasteDefault) 谢谢!

使用对象从powerpoint打开特定的Excel表

我试图从我的PPT幻灯片使用“插入>>对象”打开特定的Excel表。 所以我的Excel工作簿叫“mape1”,在这个工作簿里有很多表单,我想打开一个叫做“sheet1”的特定工作表。 我在“对象”中给了以下对象: 作为例子 C:\用户\我\桌面\ mappe1 \ sheet1.xls 但是这不起作用,我错过了什么? 感谢您的帮助

PPT更改pathfile与VBA链接的excel文件

我有一个链接Excel文件到Powerpoint演示文稿的问题。 Excel文件托pipe在外部服务器上,该服务器分配给公司所有PC上的盘符。 问题是到Excel文件的链接将随机更改为它在外部服务器上的位置。 我在macros中提出了一个解决方法: Global fso As New FileSystemObject Public Sub MaakKoppelingenRelatief() Dim i As Integer Dim sld As Slide, shp As Shape For Each sld In ActivePresentation.Slides For Each shp In sld.Shapes If shp.Type = 3 Then Dim path As String, fname As String path = shp.LinkFormat.SourceFullName fname = GetFilenameFromPath(path) shp.LinkFormat.SourceFullName = fname i […]