vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
erster Schritt 
Autor: Wastl
Datum: 17.10.02 18:34

Hallo,
(natürlich alles von Excel 8 aus)
der erste Schritt funktioniert.
Ich kann jetzt die datei öffnen in Powerpoint (Main1)
ich kann jetzt die Textboxen auslesen (Main2)
ich kann jetzt die Textboxen verändern(Main3)
    Dim ppApp As PowerPoint.Application
    Dim prsPres As Presentation
    Dim shpGraph As Shape
    Dim prsSld As Slide
    Dim prsShp  As Shape
    Dim oGraph As Object
    Dim oDataSheet As Object
    Dim prsHeadFoot As HeaderFooter
    Dim Index As Integer
    Dim Ws As Worksheet, Wb As Workbook
    Public Sub Main1()
    On Error Resume Next
 
    Set ppApp = New PowerPoint.Application
    ppApp.Visible = msoTrue
    Set prsPres = ppApp.Presentations.Open(CurDir + "\" + "Byte.ppt")
    For Each prsSld In prsPres.Slides
         For Index = 1 To prsSld.Shapes.Count
            With prsSld.Shapes(Index)
'                If .HasTextFrame = msoTrue Then Debug.Print 
' .TextFrame.TextRange.Text
                If .Type = msoEmbeddedOLEObject Then
                    Debug.Print .OLEFormat.ProgId
                    Set Wb = .OLEFormat.Object
                    Set Ws = Wb.Sheets(2)
                    Debug.Print Ws.Cells(1, 2)
                    Debug.Print Wb.Name
                    Debug.Print .Name
'                      .Name = "Object 1"
                ElseIf .Type = msoTextBox Then
                    Debug.Print .Name & "=" & .TextFrame.TextRange.Text
'                    Debug.Print .Name
'                      .Name = "Text Box " & Index
                ElseIf .Type = msoGroup Then
                    Debug.Print "Group=" & .Name
                Else
                    Debug.Print .Type & "=" & .Name
'                    Debug.Print .Name
                End If
             End With
        Next Index
     Next prsSld
End Sub
<pre><code>
Public Sub Main2()
On Error Resume Next
Dim i As Integer
i = 1
Set ppApp = New PowerPoint.Application
ppApp.Visible = msoTrue
' Set prsPres = ppApp.Presentations.Open(CurDir + "\" + "Byte.ppt")
Set prsPres = ppApp.Presentations.Item("C:\Sebastian\mein ppt\Byte2.ppt")
ThisWorkbook.Sheets(1).Cells(i, 1) = prsPres.Name
i = i + 1
For Each prsSld In prsPres.Slides
ThisWorkbook.Sheets(1).Cells(i, 1) = prsSld.Name
i = i + 1
For Index = 1 To prsSld.Shapes.Count
With prsSld.Shapes(Index)
' If .HasTextFrame = msoTrue Then Debug.Print .TextFrame.TextRange.Text
If .Type = msoEmbeddedOLEObject Then
ThisWorkbook.Sheets(1).Cells(i, 1) = .OLEFormat.ProgId
i = i + 1
Set Wb = .OLEFormat.Object
Set Ws = Wb.Sheets(2)
ThisWorkbook.Sheets(1).Cells(i, 1) = Ws.Cells(1, 2)
i = i + 1
ThisWorkbook.Sheets(1).Cells(i, 1) = Wb.Name
i = i + 1
ThisWorkbook.Sheets(1).Cells(i, 1) = .Name
i = i + 1
' .Name = "Object 1"
ElseIf .Type = msoTextBox Then
ThisWorkbook.Sheets(1).Cells(i, 1) = .Name & "=" & .TextFrame.TextRange.Text
i = i + 1
' thisworkbook.sheets(1).cells(i,1)= .Name
.Name = "Text Box " & Index
ElseIf .Type = msoGroup Then
ThisWorkbook.Sheets(1).Cells(i, 1) = "Group=" & .Name
i = i + 1
Else
ThisWorkbook.Sheets(1).Cells(i, 1) = .Type & "=" & .Name
i = i + 1
' Debug.Print .Name
End If
End With
Next Index
Next prsSld
End Sub
 
Sub Main3()
'On Error Resume Next
Dim i As Integer
i = 1
'---------------------------------------------------------------------------
Set ppApp = New PowerPoint.Application
ppApp.Visible = msoTrue
' Set prsPres = ppApp.Presentations.Open(CurDir + "\" + "Byte.ppt")
Set prsPres = ppApp.Presentations.Item("C:\Sebastian\mein ppt\Byte.ppt")

For Each prsSld In prsPres.Slides
If prsSld.Name = "Slide10" Then
For Index = 1 To prsSld.Shapes.Count
With prsSld.Shapes(Index)
If .Type = msoTextBox Then
If .Name = "Text Box 6" Then
Do Until i = 11
prsSld.Shapes(Index).TextFrame.TextRange.Text = ThisWorkbook.Sheets("Tabelle1").Cells(28 + i, 2)
i = i + 1
Index = Index + 1
Loop
End If
End If
End With
Next
' prsSld.Shapes("Text Box 5").TextFrame.TextRange.Text = "Auto hat mich lieb"
' Selection.Visible = True
Exit Sub
End If
Next prsSldDabei habe ich noch mit ein paar schwieriglkeiten zu kämpfen:
ich kann nicht alle Textboxen umbennen, bei manchen weigert er sich (Type17)
wenn ich die Texte verändere, klappt das zwar, aber die Anordnung und Ausrichtung wird total zerrupft
ich bringe es nicht hin, dass das makro zu einer bestimmten Folie blättert.
(d.H.) ich verändere textboxen, die ich gar nicht sehe!)

Vielleicht hat noch jemand weiterführende Tipps?
wenn noch jemand probieren möchte, die Powerpointfolie liegt auf
http://www.wastl.gmxhome.de/byte.ppt
das Passwort für VBA lautet maky
wenn man mehr Folien braucht, kann man die dann einfach duplizieren

So long

Gru? Wastl

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
per code aus excel in Poweroint/msgraph Diagramme erzeugen2.164Wastl15.10.02 13:02
Re: per code aus excel in Poweroint/msgraph Diagramme erzeug...1.687MrByte15.10.02 13:37
Re: Danke für das Unterstützungsangebot1.817Wastl15.10.02 18:02
Re: Re: Danke für das Unterstützungsangebot1.750mrbyte16.10.02 09:03
Re: per code aus excel in Poweroint/msgraph Diagramme erzeug...1.776MrByte16.10.02 10:22
Re: per code aus excel in Poweroint/msgraph Diagramme erzeug...1.740Wastl16.10.02 11:34
Re: per code aus excel in Poweroint/msgraph Diagramme erzeug...1.741MrByte16.10.02 12:09
Re: per code aus excel in Poweroint/msgraph Diagramme erzeug...1.780MrByte16.10.02 12:22
Antwort: Re: per code aus excel in Poweroint/msgraph ...1.700Wastl16.10.02 13:59
Wieder einen Schritt weiter1.703Wastl16.10.02 14:21
Re: Antwort: Re: per code aus excel in Poweroint/msgr...1.745MrByte16.10.02 14:56
Re: per code aus excel in Poweroint/msgraph Diagramme erzeug...1.841MrByte16.10.02 16:58
Frage an MrByte-Fehlermeldung1.888Wastl16.10.02 17:53
Re: Frage an MrByte-Fehlermeldung1.804Wastl17.10.02 00:46
Re: Frage an MrByte-Fehlermeldung2.034MrByte17.10.02 09:24
Re: Norbert, du bist ja voll der blicker! __ot1.818Wastl17.10.02 12:33
Re: Norbert, du bist ja voll der blicker! __ot1.759Wastl17.10.02 13:03
Re: Norbert, du bist ja voll der blicker! __ot1.835MrByte17.10.02 13:08
Re: Norbert, Fehler in office97 auf nt41.829Wastl17.10.02 13:19
Re: Norbert, Fehler in office97 auf nt41.767MrByte17.10.02 13:43
Re: Frage an MrByte-Fehlermeldung1.675MrByte17.10.02 09:21
Re Frage an MrByte-Fehlermeldung1.720Wastl17.10.02 13:06
Re: Frage an MrByte-Fehlermeldung1.796MrByte17.10.02 13:45
erster Schritt1.986Wastl17.10.02 18:34
Re: per code aus excel in Poweroint/msgraph Diagramme erzeug...1.872MrByte18.10.02 12:41
Danke für tolle Hilfe, Antwort auf deinen Abschnitt1.775Wastl18.10.02 16:17

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel