Anzeige
Archiv - Navigation
1060to1064
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Von XLS nach PPT verlinken

Von XLS nach PPT verlinken
17.03.2009 10:24:04
Fortmann
Hallo zusammen,
hier habe ich eine etwas komplexere Fragestellung für euch :-)
Ich habe ein Excel-File mit n Tabellenblättern und eine PowerPoint-Präsentation (beides Version 2003).
Nun möchte ich in PPT ein Makro ausführen, das mir folgende Schritte abarbeitet:
- Öffne bestimmtes XLS-File (z.B. C:\test.xls)
- Durchlaufe alle Tabellenblätter von 1 bis n
- erstelle neue Folie in PPT (pro Tabellenblatt eine)
- erstelle auf aktueller Folie ein Excel-Objekt
- verlinke (=Datei Tabellenblatt!Zelle) den Inhalt aus dem XLS-File in das Excelobjekt in PPT
- nächster Schleifendurchlauf.
Kann mir hierzu irgendjemand Tipps geben?
Gerne auch nur zu einzelnen Punkten.
Das wäre echt super.
Vielen lieben Dank schon einmal im Voraus!
Viele Grüße
Scharlie

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Von XLS nach PPT verlinken
17.03.2009 11:53:14
fcs
Hallo Scharlie,
verlinkte XL-Objekte in PP werden normalerweise so erstellt, dass die betreffenden Excel-Objekte (Zellebereich oder Diagramm) aus Excel kopiert und als verknüpftes Exceceltabellen- oder Diagramm-Objekt in PP eingefügt werden.
Der Weg: erst XL-Objekt in PP erstellen und dann Daten einer Exceldatei verknüpfen funktioniert meines Wissens nicht.
Ein entsprechendes PP-Makro schaut dann wie folgt aus, wobei im PP-VBA-Editor der Verweis auf die MS Excel Object Library aktiviert werden muss.
Gruß
Franz

Sub ExcelImport()
Dim objPraes As PowerPoint.Presentation, objSlide As PowerPoint.Slide
Dim objWb As Excel.Workbook, objWks As Excel.Worksheet, objRng As Excel.Range
Const strExcelfile As String = "C:\lokale daten\test\PP_basis.xls" 'Exceldatei
On Error GoTo Fehler
Set objPraes = PowerPoint.ActivePresentation
Set objWb = Excel.Workbooks.Open(FileName:=strExcelfile, ReadOnly:=True)
Application.Activate
For Each objWks In objWb.Worksheets
Set objSlide = objPraes.Slides.Add(Index:=objPraes.Slides.Count + 1, Layout:=ppLayoutBlank)
objWks.UsedRange.Copy 'Range oder Objekte ggf. anpassen
With objSlide
.Select
objPraes.Windows(1).View.PasteSpecial DataType:=ppPasteOLEObject, link:=msoTrue
'Application.Windows(objPraes.Name).View.PasteSpecial DataType:=ppPasteOLEObject, link:= _
msoTrue
End With
Next
objWb.Close savechanges:=False
Set objWb = Nothing
Fehler:
With Err
If .Number  0 Then
If Not objWb Is Nothing Then
objWb.Close savechanges:=False
End If
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End If
End With
End Sub


Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige