Suchen und ersetzen von text in Powerpoint 2010-von Excel 2010 mit VBA
Habe ich erfolgreich benutzt diesen code in eine powerpoint-Module, aber wenn ich mich bewege es in meinem excel-Modul gibt es mir einige Probleme. Eingebettet wurde die Powerpoint-Applikation auf Blatt 1 des Excel. Das Ziel ist das generieren von powerpoint aus excel und ersetzen Sie den Namen des Unternehmens, wenn es scheint, auf eine powerpoint-Folie mit den Namen des neuen Unternehmens aus einem excel-Bereich.
Ich bekomme Fehler 429 ActiveX component cant create object at "Für Jeden osld In ActivePresentation.Dias. Ist meine Powerpoint-Präsentation nicht aktiv? Jede Hilfe würde geschätzt werden. Mit den excel - /Powerpoint-2010.
Sub changeme(sFindMe As String, sSwapme As String)
Dim osld As Slide
Dim oshp As Shape
Dim otemp As TextRange
Dim otext As TextRange
Dim Inewstart As Integer
For Each osld In ActivePresentation.Slides
For Each oshp In osld.Shapes
If oshp.HasTextFrame Then
If oshp.TextFrame.HasText Then
Set otext = oshp.TextFrame.TextRange
Set otemp = otext.Replace(sFindMe, sSwapme, , msoFalse, msoFalse)
Do While Not otemp Is Nothing
Inewstart = otemp.Start + otemp.Length
Set otemp = otext.Replace(sFindMe, sSwapme, Inewstart, msoFalse, msoFalse)
Loop
End If
End If
Next oshp
Next osld
End Sub
'-------------------------------------------------------------------------
Sub swap()
Dim sFindMe As String
Dim sSwapme As String
Dim ppApp As PowerPoint.Application
Dim ppPreso As PowerPoint.Presentation
'Start Powerpoint
'Look for existing instance
On Error Resume Next
Set ppApp = GetObject(, "PowerPoint.Application")
On Error Goto 0
'Create new instance if no instance exists
Set ppApp = CreateObject("Powerpoint.Application")
'Open Template in word
With Sheets("Sheet1").Shapes("Object 1").OLEFormat.Verb(Verb:=xlVerbOpen)
End With
'Make it visible
ppApp.Visible = True
sFindMe = "Name To Find"
'change this to suit
sSwapme = "New Name"
Call changeme(sFindMe, sSwapme)
'sFindMe = "<find2>"
'sSwapme = ActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange
'Call changeme(sFindMe, sSwapme)
End Sub
Deine ppt ist nicht aktiv Excel - Sie brauchen, um, dass
ppApp
Referenz, wenn Sie beziehen sich auf ActivePresentation: ie. ppApp.ActivePresentation.Slides
InformationsquelleAutor user1284325 | 2012-03-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
ActivePresentation
ist ein Powerpoint-Objekt. Es bedeutet nicht, nichts zu Excel. Wenn Sie eine Präsentation öffnen, müssen Sie eine Verbindung, um es für Excel zu beziehen. Ich würde vorschlagen, mit dem code unten. Auch ich habe verwendet, der die Späte Bindung, so dass Sie nicht brauchen, um hinzuzufügen, jede Referenz zu MS Powerpoint aus Excel.LOGIK:
AUSPROBIERT UND GETESTET
Hoffe, das hilft 🙂
Sid
Akzeptiert! Nochmals vielen Dank
Sorry habe ich noch nicht ausprobiert, user1284325 ist nicht von mir...
InformationsquelleAutor Siddharth Rout