Tag: powerpoint

如何注入Excel数据embeddedPowerPoint演示文稿与VBA

我想知道如何将excel数据注入到embedded式PPT表中。 我search到的任何信息都教会了我如何去做,但创造了新的展示。 我需要使用Excel中的数据更新 PowerPoint中的现有图表。 而且该方法不应该更新链接什么的。 因为我处理了超过一百个图表,恐怕连接的方法会占用我的设备无法处理的巨大资源。 另一个原因是我需要保持图表可编辑的Powerpoint(一些不能用粘贴链接方法)。 任何build议? 谢谢

使用Excel VBA在PowerPoint中添加自定义幻灯片布局?

我用自定义幻灯片布局创build了一个PowerPoint。 我希望能够使用Excel VBA使用这些自定义布局之一来创build新的幻灯片,但我无法弄清楚正确的语法。 这是我目前的代码: Sub runPPT() Application.ScreenUpdating = False Dim wb As Workbook Set wb = ThisWorkbook Dim ws As Worksheet Set ws = wb.Sheets("SG2") Dim pptName As String Dim ppt As Object Dim myPres As Object Dim slds As Object Dim sld As Object MsgBox ("Please choose PowerPoint to open.") pptName = openDialog() Set […]

Excel VBA 2010问题,粘贴到Powerpoint后select并移动表格

我有下面的代码,我在网上find复制粘贴从excel tpoint到powerpoint。 将表格粘贴到幻灯片中后,在PPSlide.Shapes(1).Select上失败。 PPSlide.Shapes(1).Select运行时错误“-2147188160(80048240)”:Shape.Select:取消请求。 要select一个形状,其视图必须是活动的。 我一直在寻找和尝试不同的东西,但似乎无法弄清楚..我认为粘贴后,表将是积极的,代码将继续但除非我激活/select表幻灯片,然后单击运行。 任何帮助表示赞赏。 谢谢。 Dim pp As Object Dim PPPres As Object Dim PPSlide As Object Dim Rng As Range DestinationPPT = "C:\Users\username\Desktop\Data_Display.pptx" Set pp = CreateObject("PowerPoint.Application") Set PPPres = pp.Presentations.Open(DestinationPPT) pp.Visible = True Set Rng = ActiveSheet.Range("CA1:CJ" & Count + 1) Rng.Copy SlideCount = PPPres.Slides.Count Set PPSlide = PPPres.Slides.Add(SlideCount, 12) […]

转置粘贴复制范围从Excel到PowerPoint图表

我正在尝试使用Excel中的数据更新一些幻灯片,并使用下面的代码将其粘贴到PowerPoint Chart后端。 Sub updateSlides() Application.DisplayAlerts = False Dim xlApp, xlWorkBook, xlSheet As Object Set xlApp = CreateObject("Excel.Application") ' Not transposing xlApp.DisplayAlerts = Flase xlApp.Visible = True Set xlWorkBook = xlApp.Workbooks.Open("ExcelFilePath") Set xlSheet = xlWorkBook.Sheets("SheetName") For i = 1 To 9 With ActivePresentation.Slides(i) Set charts = .Shapes("Chart 37").Chart.ChartData charts.Activate Set chartData = charts.Workbook.Sheets("Sheet1") xlSheet.Range(xlSheet.Cells(2 + i, […]

使用VBA更新PowerPoint图表

我知道这个问题已经被问了很多次了,可惜找不到工作的解决办法。 所以,我在PowerPoint中有一个非常简单的演示文稿(只有一个幻灯片,其中一个图表是从Excel表创build的),并且需要通过VBA更新最新数据,无论是从Excel还是PowerPoint脚本运行。 首先,我尝试了PowerPoint中最明显的脚本: Sub update1() ActivePresentation.UpdateLinks End Sub 它似乎运行,但没有改变。 然后,我开始在Web上search解决scheme,例如, 在StackOverflow上查找以下主题 。 对于乐观繁忙的答案它运行没有错误,并给我一个输出在MessageBox,但它没有改变PowerPoint图表。 对于rinusp的回答,它给了我一个错误 运行时错误“91”:对象variables或块variables未设置 在线上 For each sld in myPresentation.Slides 我在PowerPoint中尝试了所有这些macros。 我也尝试了StackOverflow上的其他问题的答案,但不幸的是没有为我工作。 如果有人帮我find任何工作解决scheme,我会很高兴 – 如果VBA脚本运行,从Excel或PowerPoint中无关紧要。 提前致谢。 更新 :我正在更新我的问题,我尝试运行的代码的完整示例。 这个例子是由用户乐观Busy和rinusp在上面提到的StackOverflow主题提供的。 此代码从PowerPoint运行时给我一个错误“运行时错误'91':对象variables或块variables未设置” Sub update2() Dim myPresentation As PowerPoint.Presentation Dim sld As PowerPoint.Slide Dim shp As PowerPoint.Shape Dim myChart As PowerPoint.Chart For Each sld In myPresentation.Slides For […]

将Excel VBA中的数组转换为Powerpoint VBA

我有Excel VBA中的代码,我想要转换成在Powerpoint VBA中运行。 这是我到目前为止在ppt的VBA: Dim wbkISS As Excel.Workbook Dim varSheetISS As Excel.Worksheet Set wbkISS = Workbooks.Open(FileName:="C:\Users\…\Documents\ISS.xlsm") Set varSheetISS = wbkISS.Worksheets("For ISS") strIDRangeISS = "A2:D50" varSheetISS = varSheetISS.Range(strIDRangeISS) For iRowISS = LBound(varSheetISS, 1) To UBound(varSheetISS, 1) … For iRowFCST = LBound(varSheetFCST, 1) To UBound(varSheetFCST, 1) … 但在“LBars(varsheetISS)它给了我编译错误:预期数组。我的代码在Excel中工作正常,所以我想我有错误的语法的PPT?

VBA从Excel复制到PowerPoint(不是“复制和粘贴”)

我试图将格式化的文本内容从Excel复制到Powerpoint的VBA – 最好没有复制和粘贴,因为它只是崩溃,每次我运行它(即使有多个DoEvents放慢速度…有数百重格式文本的单元格)。 这就是为什么我一直试图通过直接寻址单元格来解决这个问题。 For i = 1 To WS.Range("A65536").End(xlUp).Row If WS.Cells(i, 1) > 0 Then Set newSlide = ActivePresentation.Slides(1).Duplicate newSlide.MoveTo (ActivePresentation.Slides.Count) With newSlide.Shapes(1).TextFrame.TextRange .Text = WS.Cells(i, 1).Value ' Inserts the (non-formatted) text from Excel. Have also tried WS.Cells(i, 1).Text .Font.Name = WS.Cells(i, 1).Font.Name ' This works fine .Font.Size = WS.Cells(i, 1).Font.Size ' This works […]

在复制过程中导致程序崩溃

有人能给我一些帮助,找出为什么我的程序崩溃,每次我试图运行它? 崩溃似乎发生在我有任何复制/粘贴行,所以: ShRef.Range(ShRef.Cells(ShRef.Rows.Count, pCol).End(xlUp), ShRef.Cells(1, pCol)).Copy Destination:=ShWork.Columns(outCol) ShRef.Range(ShRef.Cells(ShRef.Rows.Count, 1).End(xlUp), ShRef.Cells(oneOrTwo, 1)).Copy Destination:=ShWork.Cells(rowCounter, 1) ShRef.Range(ShRef.Cells(ShRef.Rows.Count, pCol).End(xlUp), ShRef.Cells(oneOrTwo, pCol)).Copy Destination:=ShWork.Cells(rowCounter, 2) Set myShape = pptSlide.Shapes.PasteSpecial(DataType:=ppPasteHTML, Link:=msoFalse) 我真的不知道为什么会发生这种情况,因为之前的命令是一样的。 任何帮助表示赞赏,这里是我的代码的其余部分: Public Sub averageScoreRelay() ' 1. Run from PPT and open an Excel file ' 2. Start at slide 1 and find a box that contains the words "iq_", if […]

导入多个excel范围/表格到powerpoint

我有一个有20张工作表的excel工作簿,我正在尝试使用VBA将这些excel表格导入到powerpoint中。 我已经能够编写一段代码,几乎正是我需要做的,但是我无法find最后部分的解决scheme..希望你们可以帮助我! 从每张纸我需要select一个不同的范围(这是在每个表单元格A1和A2中可见)。 例如从单元格A1“B3”和单元格A2“D12”中的excel表格1中获得,这意味着对于此表格,VBA应复制范围B3:D12。 在下一张表中应该发生完全相同的情况,但是它应该根据我在表单元格A1和A2中放弃的内容来调整范围。 我的代码到目前为止如下所示: Sub PrintPPT() 'Step 1: Declare variables Dim pp As Object Dim PPPres As Object Dim PPSlide As Object Dim xlwksht As Worksheet Dim MyRange As String Dim Cval1 As Variant Dim Cval2 As Variant Dim Rng1 As Range 'Step 2: Open PowerPoint, add a new presentation and make visible […]

Excel到Powerpoint – 寻找一个有用的微调

早上好, 我有一个定期运行的C#代理,并在特别重要的电子表格中更新某些值,这个电子表格更新的原因是定期有人会手动进入这个.xls文件并打印屏幕工作表并粘贴到Powerpoint演示文稿模板作为图像。 这些“图像”不是图表,也不是表格,是电子表格中的彩色单元格的简单范围。我所要做的就是通过自定义我的代理程序来自动执行此操作,以便每次更新电子表格时,打印屏幕“我指定的一定范围,并将其作为图像复制到.ppt文件中。 我很感激这个问题缺乏一个代码示例,我不希望有人'为我做',任何意见或指示我可能会做到这一点将不胜感激。 另外VSTO不是一个不幸的select(工作环境)。 非常感谢