Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Mittels VBA von Excel aus,ein Textfeld in PowerPoint einfügen

553 views
Skip to first unread message

Bennardo

unread,
Nov 27, 2001, 10:09:00 AM11/27/01
to
Hallo Leute,

Wie kann ich von Excel aus (VBA) einen Textfeld in Powerpoint erzeugen?
Hab das Problem ,dass das ActiveWindow nicht erkannt wird:Fehlermeldung
"Objekt wird nicht unterstütz "

Sub Textfeld_einfügen()

Dim ppt As Object, pres As Object

Set ppt = CreateObject("powerpoint.application")
Set pres = ppt.Presentations.Add
pres.Slides.Add 1, ppLayoutBlank
ppt.Visible = True
AppActivate ppt.Name


ActiveWindow.Selection.SlideRange.Shapes.AddTextbox(msoTextOrientationHorizo
ntal, 234#, 72#, 264#, 36#).Select
ActiveWindow.Selection.SlideRange.Shapes.AddTextbox(msoTextOrientationHorizo
ntal, 234#, 72#, 264#, 36#).Select
ActiveWindow.Selection.ShapeRange.TextFrame.WordWrap = msoTrue
ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Characters(Start:=1,
Length:=0).Select
With ActiveWindow.Selection.TextRange
.Text = "test"
With .Font
.Name = "Times New Roman"
.Size = 24
.Bold = msoFalse
.Italic = msoFalse
.Underline = msoFalse
.Shadow = msoFalse
.Emboss = msoFalse
.BaselineOffset = 0
.AutoRotateNumbers = msoFalse
.Color.SchemeColor = ppForeground
End With
End With
With ActiveWindow.Selection.ShapeRange
.Fill.Visible = msoTrue
.Fill.Solid
.Fill.ForeColor.SchemeColor = ppBackground
.Line.Weight = 0.25
.Line.Visible = msoTrue
.Line.ForeColor.RGB = RGB(0, 0, 0)
.Line.BackColor.RGB = RGB(255, 255, 255)
End With
ActiveWindow.Selection.SlideRange.Shapes("Text Box 4").Select
ActiveWindow.Selection.ShapeRange.TextFrame.TextRange.Select
ActiveWindow.Selection.TextRange.Font.Color.SchemeColor = ppAccent1
ActiveWindow.Selection.Unselect

Set ppt = Nothing

End Sub


Gruß

Bennardo


Dr. Eckehard Pfeifer

unread,
Nov 27, 2001, 10:18:16 AM11/27/01
to
Hallo, ich wuerde
1. nicht per Createobject arbeiten, sondern durch einen Verweis mit frueher
Bindung, also set ppt as new powerpoint.application
2. appactivate ist nicht notwendig
3. activewindow.selection ist immer schlecht, besser ist
activepresentation.slides(..). Da du ein Slide per Add einfuegst, kannst gut
mit
set sld=activepresentation.slides.add arbeiten und dann mit
sld.shapes.add...

Fazit: Makros aufzeichnen und anschliessend alles raus, was mit selection
arbeitet und nur definierte Objekte verwenden.

--
Mit freundlichen Grüßen
Eckehard Pfeifer

www.dr-e-pfeifer.de
Ein Blick lohnt sich immer: www.vba-magazin.de

"Bennardo" <benn...@fh-trier.de> schrieb im Newsbeitrag
news:OCZlDW1dBHA.1772@tkmsftngp02...

0 new messages