MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft PowerPoint
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 01.11.2016, 11:31   #1
jack_D
MOF Koryphäe
MOF Koryphäe
Standard VBA - Allgemeines Layoutproblem - Fehler Abfangen

Hallo Gemeinde,

ich hätte da mal ein klitzekleines Problem.

Und zwar erstelle ich grad ein Makro mit dem man aus dem Ribbon verschiedenen Muster (Shapes) in die aktuelle Präse zieht.

Das funktioniert auch soweit ganz gut.

Daten werden geladen - eine neue Folie hinzugefügt - shapes eingefügt.

Jetzt bin ich aber grad am "DAUen" und bekomm es einfach nicht in den Griff, dass er ein "Basislayout" einfügt wenn nicht das "Firmeneigene" LAyout vorher angewandt wurde.

Also. Wenn das Layout stimmt dann funktioniert es. Wenn kein Layout aktiv ist, geht es nicht.

Hier der Kopierteil in dem auch die Folie hinzugefügt wird

Code:

With APrae
    'Seite anfügen
    Set Newpage = .Slides.AddSlide(CurrSlide + 1, GetLayout("Große Darstellung", APrae))
    Newpage.Shapes(1).Delete
    
    'Shapes einfügen
    Set Formatgruppe = Newpage.Shapes.Paste
Und hier der GEtLayout Teil . wo es hakt
Code:

Public Function GetLayout( _
    LayoutName As String, _
    Optional ParentPresentation As Presentation = Nothing) As CustomLayout
    
    Dim ISTLAYOUT As CustomLayout
       
   
    
    If ParentPresentation Is Nothing Then
        Set ParentPresentation = ActivePresentation
    End If
    
    Set ISTLAYOUT = ParentPresentation.Slides(ActiveWindow.Selection.SlideRange.SlideIndex).CustomLayout
    
    Dim oLayout As CustomLayout
    For Each oLayout In ParentPresentation.SlideMaster.CustomLayouts
        If oLayout.Name = LayoutName Then
            Set GetLayout = oLayout
            Exit For
        Else
            Set GetLayout = ISTLAYOUT
        End If
    Next
End Function
Das ganze funktioniert auch, sofern ich das ganze als pptm am laufen habe.
Sobald ich es aber als addin (ppam) speicher funktioniert es nicht mehr (Presentation Objekt nicht vorhanden)

Ich denke das liegt daran, dass (im Gegensatz zu Excel und Word) die Folien nicht mit im Addin bleiben (sondern "verschwinden") In xls bsp kann man die Tabellen mit ThisWorkbook aus dem Addin lesen - das geht in ppt aber nicht

Nun meine Frage, wie kann ich Herr des Problems werden?

Meine Ansätze:
1. Folie hinzufügen und standartlayout nehmen (hier scheiter ich am Code) - ich krieg kein standartlayout da rein -.-
2. Eine referenzierung auf die Folien die vielleicht doch irgendwo im addin sind?

Über Ideen wär ich sehr dankbar !

BEste GRüße Jack
jack_D ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.11.2016, 08:04   #2
jack_D
Threadstarter Threadstarter
MOF Koryphäe
MOF Koryphäe
Standard

Moin Moin,

also ich hab lange rumprobiert und viel gelesen, bin aber nicht auf die "richtige" Lösung gekommen.

Ich hab lediglich einen Workaround (für mich) gefunden mit dem ich leben kann.

Interessanterweise ist es nämlich so, dass der Layoutfehler nur dann auftritt wenn nur eine Folie in der Mappe ist (Sobald eine 2. Folie vorhanden ist tritt der Fehler hingegen - Egal welches Layout die Mappe hat - nicht auf)

Ich hab daher ganz stumpf eine Abfrage eingefügt ob der slideCount >1 ist. Wenn nicht verlässt er die Prozedur.

Nicht schön. Aber es geht. Und ich konnte auf diesem Wege auch den Fehler eliminieren, der Aufttrat wenn KEIN slide vorhanden ist.-

In diesem Sinne. Ich lass den Threat mal offen, da es keine wirkliche Lösung ist (in meinen Augen)

Beste Grüße
Jack
jack_D ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:21 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.