Thema Datum  Von Nutzer Rating
Antwort
Rot Variabler Shape Name
29.10.2018 08:30:03 Tim
Solved
29.10.2018 08:40:04 Gast79122
NotSolved
29.10.2018 08:47:27 Flotter Feger
NotSolved
29.10.2018 09:03:21 Gast14703
NotSolved

Ansicht des Beitrags:
Von:
Tim
Datum:
29.10.2018 08:30:03
Views:
836
Rating: Antwort:
 Nein
Thema:
Variabler Shape Name

Hallo Zusammen,

 

ich hab einen Code geschrieben der die Kopfzeile jeder Powerpoint Folie umändert.

Leider haben die Kopfzeilen je nach Folie unterschiedliche Bezeichnungen.

Hier Fußzeilenplatzhalter 1 und 2 (dick makiert)

Nun wollte ich fragen ob jemand weiß wie es funktioniert ohne dies vereinheitlichen zu müssen. Hatte des mit einem einfach "Or" probiert aber leider kein gutes Ergebnis.

Wäre um Hilfe dankbar ! 

Sub Kopfzeile_Ausfuellen()

    Dim Folie As Slide, Textfeld As Shape
    
    sTxt = InputBox(prompt:="Eingabe der Kopfzeile:", Title:="Kopfzeile")
    
    
    'Lässt eine PPt Datei auswählen und speichert deren Dateipfad in sFilename
    Dim fd As FileDialog
    Dim sFilename As String

    Set fd = Application.FileDialog(msoFileDialogFilePicker)

    With fd
        .Filters.Clear
        .Filters.Add "PowerPoint Files", "*.ppt; *.pptx", 1
        .InitialFileName = Environ("USERPROFILE") & "\Desktop\"
        .AllowMultiSelect = False
        If .Show = True Then sFilename = .SelectedItems(1)
    End With
    
    
    'Zählt Anzahl der Folien in der ausgewählten PPT-Präsentation
    Dim myApp As Object
    Dim myFile As String
    Dim numSl As Long
    
    myFile = ("" & sFilename)
    Set myApp = CreateObject("PowerPoint.application")
    With myApp
        .Activate
        .Presentations.Open FileName:=myFile
        numSl = .ActivePresentation.Slides.Count 'speichert die Anzahl der Folien in der Variable numSl
        '.Quit
    End With
    Set myApp = Nothing
    
    
    
    'Reduziert die Anzahl von numSl um 1
    numSl = numSl - 1
    
    Dim i As Integer
    
    


    'Benennt die Kopfzeile um alles Folien
    For i = 2 To numSl
    
        Set Folie = ActivePresentation.Slides(i)
        Set Textfeld = Folie.Shapes("Fußzeilenplatzhalter 1" Or "Fußzeilenplatzhalter 2")
        Textfeld.TextFrame.TextRange.Text = ("Willy Vogel   I/EG-721   in-tech GmbH   Steinschlagsimulation   " & sTxt)
        
    Next
    



    
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Variabler Shape Name
29.10.2018 08:30:03 Tim
Solved
29.10.2018 08:40:04 Gast79122
NotSolved
29.10.2018 08:47:27 Flotter Feger
NotSolved
29.10.2018 09:03:21 Gast14703
NotSolved