[ backspin @ 07.10.2008. 14:35 ] @
Pozdrav ! trebam excel makro koji ce selektirati odredjeni range na sheetu "Sheet1", otvoriti postojecu .ppt prezentaciju (koja je negdje na disku),pozicionirati se na "Slide1", paste-ati selektirani range kao enhanced metafile (.emf) i vratiti se u excel na "sheet1". trenutno imam neki makro koji to radi sa vec otvorenim slideom u vec otovrenoj ppt prezentaciji (to ne zelim, zelim da sam otvori onu koju mu zadam kroz makro): Sub RangeToPresentation() ' Set a VBE reference to Microsoft PowerPoint Object Library Dim PPApp As PowerPoint.Application Dim PPPres As PowerPoint.Presentation Dim PPSlide As PowerPoint.Slide ' Make sure a range is selected If Not TypeName(Selection) = "Range" Then MsgBox "Please select a worksheet range and try again.", vbExclamation, _ "No Range Selected" Else ' Reference existing instance of PowerPoint Set PPApp = GetObject(, "Powerpoint.Application") ' Reference active presentation Set PPPres = PPApp.ActivePresentation PPApp.ActiveWindow.ViewType = ppViewSlide ' Reference active slide Set PPSlide = PPPres.Slides(PPApp.ActiveWindow.Selection.SlideRange.SlideIndex) ' Copy the range as a piicture Selection.CopyPicture Appearance:=xlScreen, _ Format:=xlPicture ' Paste the range PPSlide.Shapes.Paste.Select ' Align the pasted range PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True PPApp.ActiveWindow.Selection.ShapeRange.ScaleWidth 1, msoFalse, msoScaleFromTopLeft PPApp.ActiveWindow.Selection.ShapeRange.ScaleHeight 1, msoFalse, msoScaleFromTopLeft ' Position pasted chart PPApp.ActiveWindow.Selection.ShapeRange.Left = 250 PPApp.ActiveWindow.Selection.ShapeRange.Top = 50 End If End Sub Hvala !!!! |