Button Panel der Folie hinzufügen

  • Sonstige

SSL ist deaktiviert! Aktivieren Sie SSL für diese Sitzung, um eine sichere Verbindung herzustellen.

    Button Panel der Folie hinzufügen

    Hallo,

    ich programmiere mir gerade ein Addin für PowerPoint und komme an einer Stelle nicht weiter. Ich habe mir ein Ribbon erstellt in dem ich mit einem Button [Hinzufügen] der leeren Folie etwas hinzufügen möchte.

    Dazu habe ich zwei Fragen:

    1. Ich möchte mit dem Button [Hinzufügen] der leeren Folie ein Panel hinzufügen, indem weitere Komponenten (z.B. ein weiterer Button) vorhanden sind. Welches Item kann ich da wählen?

    2. Mit welcher Methode füge ich der leeren Folie dieses Item hinzu? (gerne auch ein Beispiel oder Link)

    Danke!
    hast du mal versucht mit dem Makrorecorder das erstellen eines neuen Buttons aufzuzeichnen?
    :!: "Leben heißt Veränderung" sagte der Stein zur Blume und flog davon." :!:
    :?: Wenn Sie glauben, permanente Weiterbildung sei teuer, versuchen Sie es mit Inkompetenz. :!: Winston Churchill 1874-1965
    :?: Man kann die Menschen nichts lehren, man kann ihnen nur helfen, es in sich selbst zu finden! :!: Galileo Galilei
    Sorry, ich bin nochganz neu in VB -- arbeite sonst mit Java und bin im Moment noch ganz verwirrt :)

    Ne, ahbe ich nicht. Damit kenne ich mich nicht aus.

    Visual Basic-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As RibbonControlEventArgs) Handles Button1.Click
    2. Füge Button1 der aktuellen Folie hinzu
    3. End Sub
    ne nich in VB..
    mach mal Powerpoint auf ..
    starte dann den MakroRecorder vom Powerpoint und zeichne damit das auf was du nachprogrammieren willst... (Button erstellen)
    den Code kannst du dann umbauen so dass du den im VB neutzen kannst
    :!: "Leben heißt Veränderung" sagte der Stein zur Blume und flog davon." :!:
    :?: Wenn Sie glauben, permanente Weiterbildung sei teuer, versuchen Sie es mit Inkompetenz. :!: Winston Churchill 1874-1965
    :?: Man kann die Menschen nichts lehren, man kann ihnen nur helfen, es in sich selbst zu finden! :!: Galileo Galilei
    Doch, doch ... musst erst mal im Menu unter Optionen das Entwicklermenu einblenden
    :!: "Leben heißt Veränderung" sagte der Stein zur Blume und flog davon." :!:
    :?: Wenn Sie glauben, permanente Weiterbildung sei teuer, versuchen Sie es mit Inkompetenz. :!: Winston Churchill 1874-1965
    :?: Man kann die Menschen nichts lehren, man kann ihnen nur helfen, es in sich selbst zu finden! :!: Galileo Galilei
    PowerPoint 2012? hab ich was verpasst? Auch haben will...
    also was ich bis jetzt googeln kann gibts den in PP2010... is wohl auch wieder besser wie in 2007. auf jeden fall kannste ja in Powerpoint VBA öffnen, dann kannste da ja mit der Taste F1 die Hilfe aufrufen, un dann da im Objectkatalog schauen..
    :!: "Leben heißt Veränderung" sagte der Stein zur Blume und flog davon." :!:
    :?: Wenn Sie glauben, permanente Weiterbildung sei teuer, versuchen Sie es mit Inkompetenz. :!: Winston Churchill 1874-1965
    :?: Man kann die Menschen nichts lehren, man kann ihnen nur helfen, es in sich selbst zu finden! :!: Galileo Galilei

    Visual Basic-Quellcode

    1. Set myDocument = ActivePresentation.Slides(1)
    2. With myDocument.Shapes.AddShape(Type:=msoShapeRectangle, _
    3. Top:=144, Left:=144, Width:=72, Height:=72)
    4. .Name = "Red Square"
    5. .Fill.ForeColor.RGB = RGB(255, 0, 0)
    6. .Line.DashStyle = msoLineDashDot
    7. End With


    aus der PowerPoint Hilfe
    :!: "Leben heißt Veränderung" sagte der Stein zur Blume und flog davon." :!:
    :?: Wenn Sie glauben, permanente Weiterbildung sei teuer, versuchen Sie es mit Inkompetenz. :!: Winston Churchill 1874-1965
    :?: Man kann die Menschen nichts lehren, man kann ihnen nur helfen, es in sich selbst zu finden! :!: Galileo Galilei
    Einfach mit C&P sicherlich nicht. Den musst du wohl auf Deine gegebenheiten anpassen.
    Hast Du auch

    Visual Basic-Quellcode

    1. Imports Microsoft.Office.Interop

    ganz oben? und den Verweis zu Powerpoint?
    btw da steht was von Zugriffsverweigerung, evtl wegen passwort.
    Auch muss die Mappe geöffnet sein in Powerpoint.
    Das Shapes Object hat meine ich auch eine .Copy Methode
    :!: "Leben heißt Veränderung" sagte der Stein zur Blume und flog davon." :!:
    :?: Wenn Sie glauben, permanente Weiterbildung sei teuer, versuchen Sie es mit Inkompetenz. :!: Winston Churchill 1874-1965
    :?: Man kann die Menschen nichts lehren, man kann ihnen nur helfen, es in sich selbst zu finden! :!: Galileo Galilei
    okay, aber ich komm trotzdem damit nicht weiter.

    Mir fehlt einfach der Überblick und ich finde auch keine gute Literatur für PP 2010 und VB Programmierung.
    Ich möchte ja einfach nur einen Button in die aktuelle Folie einfügen.

    Visual Basic-Quellcode

    1. Imports Microsoft.Office.Tools.Ribbon
    2. Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
    3. Public Class Ribbon1
    4. Dim oApp As New PowerPoint.Application
    5. Dim oPres As PowerPoint.Presentation
    6. Dim oSlide As PowerPoint.Slide
    7. Private Sub Button1_Click(sender As Object, e As RibbonControlEventArgs) Handles Button1.Click
    8. End Sub
    9. End Class
    hmm hast du in deinem Project Option Strict On ? Solltest du tun.
    die Zeile heißt nur:

    Visual Basic-Quellcode

    1. Imports Microsoft.Office.Interop.PowerPoint

    Da musste nu nur noch mit Set zuordnen wie dein Slide und deine Presentation heissen sollen.
    un dann kannste doch voll gas geben ;)
    dann den Code ovn oben noch anpassen..

    Visual Basic-Quellcode

    1. set oPres = ActivePresentation
    2. set oSlide = oPres.Slides("DerName")

    un dann halt noch der KNopf...

    Visual Basic-Quellcode

    1. Dim btnNeu as powerpoint.shape
    2. btnNeu = oSlide.Shapes("DeinKnopp").Duplicate

    einfach bissle testen
    :!: "Leben heißt Veränderung" sagte der Stein zur Blume und flog davon." :!:
    :?: Wenn Sie glauben, permanente Weiterbildung sei teuer, versuchen Sie es mit Inkompetenz. :!: Winston Churchill 1874-1965
    :?: Man kann die Menschen nichts lehren, man kann ihnen nur helfen, es in sich selbst zu finden! :!: Galileo Galilei
    "un dann kannste doch voll gas geben ;)"
    das würde ich gerne, bin aber noch zu verwirrt.. aber danke schonmal für die Hilfe :thumbsup:

    Ich versuche das gerade umzusetzen und dann kommt immer ActivePresentation is not declared.... was mache ich da bloß falsch?

    Das Set wird vom Editor immer entfernt..warum auch immer ?(
    Bilder
    • fehler_code.jpg

      36,15 kB, 736×562, 21 mal angesehen
    ;) Wenn der Editor das set nich haben will.. glaub das kann man mittlerweile weg lassen.
    Versuch dann mal

    Visual Basic-Quellcode

    1. oPres = Presentations("SoWiedieDateiHeißt")

    einfach immer mal die Hilfen ausprobieren, die VB dir vorschlägt
    :!: "Leben heißt Veränderung" sagte der Stein zur Blume und flog davon." :!:
    :?: Wenn Sie glauben, permanente Weiterbildung sei teuer, versuchen Sie es mit Inkompetenz. :!: Winston Churchill 1874-1965
    :?: Man kann die Menschen nichts lehren, man kann ihnen nur helfen, es in sich selbst zu finden! :!: Galileo Galilei
    ich bin jetzt sehr viel weiter, aber immer noch nciht am Ziel :)

    so füge ich einen Button hinzu. Allerdings fehlt mir jetzt noch der Handler, den ich anlegen muss. Kann mir bitte jemand sagen, wie ich den in diesem Fall referenziere?

    Visual Basic-Quellcode

    1. oControl = oSlide.Shapes.AddOLEObject(20, 20, 10, 0, ClassName:="Forms.CommandButton.1")
    2. With oControl
    3. .OLEFormat.Object.Name = "MeineCheckbox" 'Name
    4. .OLEFormat.Object.Caption = "Test" 'Beschriftung
    5. .OLEFormat.Object.Font.Bold = True ' Fett
    6. .OLEFormat.Object.Font.Name = "Verdana" 'Schrift
    7. .OLEFormat.Object.BackColor = RGB(0, 255, 0) 'Hintergrund
    8. .OLEFormat.Object.ForeColor = RGB(255, 255, 0) 'Schrift
    9. AddHandler ##### , AddressOf MeineCheckbox_Click
    10. End With
    11. Private Sub MeineCheckbox_Click()
    12. MsgBox("hallo")
    13. End Sub