Du bist nicht angemeldet.

[Sonstige/Allgemein] Button Panel der Folie hinzufügen

Lieber Besucher, herzlich willkommen bei: Visual-Basic-Forum VB-Paradise.de. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

vbrules

Registrierter Benutzer

  • »vbrules« ist der Autor dieses Themas

Beiträge: 14

Dabei seit: 24. März 2012

  • Private Nachricht senden

1

Samstag, 24. März 2012, 17:44

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!

vbrules

Registrierter Benutzer

  • »vbrules« ist der Autor dieses Themas

Beiträge: 14

Dabei seit: 24. März 2012

  • Private Nachricht senden

2

Samstag, 24. März 2012, 19:05

oder machen wir es erst mal etwas einfacher: Ich möchte mit dem Button [Hinzufügen] der leeren Folie einen Button hinzufügen.

Wie mache ich das am besten?

FloFuchs

puppets...

  • »FloFuchs« ist männlich

Beiträge: 1 206

Dabei seit: 25. November 2011

Wohnort: Augsburg

Hilfreich-Bewertungen: 121

  • Private Nachricht senden

3

Samstag, 24. März 2012, 19:11

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

vbrules

Registrierter Benutzer

  • »vbrules« ist der Autor dieses Themas

Beiträge: 14

Dabei seit: 24. März 2012

  • Private Nachricht senden

4

Samstag, 24. März 2012, 19:22

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
2
3
4
5
	Private Sub Button1_Click(sender As Object, e As RibbonControlEventArgs) Handles Button1.Click

	Füge Button1 der aktuellen Folie hinzu

	End Sub

FloFuchs

puppets...

  • »FloFuchs« ist männlich

Beiträge: 1 206

Dabei seit: 25. November 2011

Wohnort: Augsburg

Hilfreich-Bewertungen: 121

  • Private Nachricht senden

5

Samstag, 24. März 2012, 19:30

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

vbrules

Registrierter Benutzer

  • »vbrules« ist der Autor dieses Themas

Beiträge: 14

Dabei seit: 24. März 2012

  • Private Nachricht senden

6

Samstag, 24. März 2012, 19:37

danke...werde ich direkt ausprobieren :)



kann es sein, dass PP 2010 keinen Makrorcorder mehr hat?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »vbrules« (24. März 2012, 19:44)


FloFuchs

puppets...

  • »FloFuchs« ist männlich

Beiträge: 1 206

Dabei seit: 25. November 2011

Wohnort: Augsburg

Hilfreich-Bewertungen: 121

  • Private Nachricht senden

7

Samstag, 24. März 2012, 19:49

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

vbrules

Registrierter Benutzer

  • »vbrules« ist der Autor dieses Themas

Beiträge: 14

Dabei seit: 24. März 2012

  • Private Nachricht senden

8

Samstag, 24. März 2012, 20:28

wie ich nach längerer Suche festgestellt habe gibt es den nur für Excel 2010 und nicht für PowerPoint 2010 :(

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »vbrules« (24. März 2012, 21:35)


FloFuchs

puppets...

  • »FloFuchs« ist männlich

Beiträge: 1 206

Dabei seit: 25. November 2011

Wohnort: Augsburg

Hilfreich-Bewertungen: 121

  • Private Nachricht senden

9

Samstag, 24. März 2012, 21:09

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

vbrules

Registrierter Benutzer

  • »vbrules« ist der Autor dieses Themas

Beiträge: 14

Dabei seit: 24. März 2012

  • Private Nachricht senden

10

Samstag, 24. März 2012, 22:15

Tippfehler..das bringt mich nicht weiter

FloFuchs

puppets...

  • »FloFuchs« ist männlich

Beiträge: 1 206

Dabei seit: 25. November 2011

Wohnort: Augsburg

Hilfreich-Bewertungen: 121

  • Private Nachricht senden

11

Samstag, 24. März 2012, 22:28

Visual Basic Quellcode

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

vbrules

Registrierter Benutzer

  • »vbrules« ist der Autor dieses Themas

Beiträge: 14

Dabei seit: 24. März 2012

  • Private Nachricht senden

12

Sonntag, 25. März 2012, 08:42

wenn ich das richtig sehe, dann zeichnest du einen Button. Ich würde aber lieber einen Button aus meinem Projekt der aktuellen Folie hinzufügen.

Zudem ist er Quellcode so nicht ausführbar :)
»vbrules« hat folgendes Bild angehängt:
  • quellcode.jpg

FloFuchs

puppets...

  • »FloFuchs« ist männlich

Beiträge: 1 206

Dabei seit: 25. November 2011

Wohnort: Augsburg

Hilfreich-Bewertungen: 121

  • Private Nachricht senden

13

Sonntag, 25. März 2012, 08:54

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

vbrules

Registrierter Benutzer

  • »vbrules« ist der Autor dieses Themas

Beiträge: 14

Dabei seit: 24. März 2012

  • Private Nachricht senden

14

Sonntag, 25. März 2012, 19:53

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Imports Microsoft.Office.Tools.Ribbon

Imports PowerPoint = Microsoft.Office.Interop.PowerPoint


Public Class Ribbon1

	Dim oApp As New PowerPoint.Application
	Dim oPres As PowerPoint.Presentation
	Dim oSlide As PowerPoint.Slide



	Private Sub Button1_Click(sender As Object, e As RibbonControlEventArgs) Handles Button1.Click

	End Sub

End Class

FloFuchs

puppets...

  • »FloFuchs« ist männlich

Beiträge: 1 206

Dabei seit: 25. November 2011

Wohnort: Augsburg

Hilfreich-Bewertungen: 121

  • Private Nachricht senden

15

Sonntag, 25. März 2012, 22:49

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
2
set oPres = ActivePresentation
set oSlide = oPres.Slides("DerName")

un dann halt noch der KNopf...

Visual Basic Quellcode

1
2
Dim btnNeu as powerpoint.shape
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

vbrules

Registrierter Benutzer

  • »vbrules« ist der Autor dieses Themas

Beiträge: 14

Dabei seit: 24. März 2012

  • Private Nachricht senden

16

Sonntag, 25. März 2012, 23:21

"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 ?(
»vbrules« hat folgendes Bild angehängt:
  • fehler_code.jpg

FloFuchs

puppets...

  • »FloFuchs« ist männlich

Beiträge: 1 206

Dabei seit: 25. November 2011

Wohnort: Augsburg

Hilfreich-Bewertungen: 121

  • Private Nachricht senden

17

Montag, 26. März 2012, 06:07

;) 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

vbrules

Registrierter Benutzer

  • »vbrules« ist der Autor dieses Themas

Beiträge: 14

Dabei seit: 24. März 2012

  • Private Nachricht senden

18

Donnerstag, 29. März 2012, 16:04

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            	oControl = oSlide.Shapes.AddOLEObject(20, 20, 10, 0, ClassName:="Forms.CommandButton.1")
            	With oControl
                	.OLEFormat.Object.Name = "MeineCheckbox" 'Name
                	.OLEFormat.Object.Caption = "Test" 'Beschriftung
                	.OLEFormat.Object.Font.Bold = True ' Fett
                	.OLEFormat.Object.Font.Name = "Verdana" 'Schrift
                	.OLEFormat.Object.BackColor = RGB(0, 255, 0) 'Hintergrund
                	.OLEFormat.Object.ForeColor = RGB(255, 255, 0) 'Schrift
                	AddHandler ##### , AddressOf MeineCheckbox_Click
            	End With



	Private Sub MeineCheckbox_Click()

    	MsgBox("hallo")
	End Sub