Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1396to1400
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ribbon

Ribbon
09.12.2014 19:54:33
Stefan
Hallo Forum,
ich habe mir eine Ribbon erstellt. Nun meine Frage. Wie kann ich erreichen, dass das Ribbon nur angezeigt wird wenn das Tabellenblatt3 ausgewählt ist.
Wechsel ich wieder zu Blatt2 oder 1 soll das Ribbon nicht mehr sichtbar sein
Gruss
Stefan

41
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ribbon
09.12.2014 20:56:45
mumpel
Hallo!
Funktioniert nur in Verbindung mit dem onLoad-Ereignis.
In "DieseArbeitsmappe":
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
objRibbon.Invalidate
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 15
In einem allgemeinen Modul:
Option Private Module
Option Explicit

Public objRibbon As IRibbonUI

Public Sub onLoad_Test23(ribbon As IRibbonUI)
Set objRibbon = ribbon
End Sub

Public Sub Visible_Test23(control As IRibbonControl, ByRef returnValue)
If ActiveSheet.Name = "Tabelle1" Then returnValue = True
End Sub

Public Sub onAction_Test23(control As IRibbonControl)
MsgBox control.ID
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 15
RibbonX-Code:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"
          onLoad="onLoad_Test23" >
  <ribbon>
    <tabs>
       <tab id="tab0" label="Erstes" getVisible="Visible_Test23" >
          <group id="grp0" label="Erste">
            <button id="btn0" label="Erster" imageMso="HappyFace"
                    size="large" onAction="onAction_Test23" />
          </group>
       </tab>
    </tabs>
  </ribbon>
</customUI>


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 15
Gruß, René

Anzeige
AW: Ribbon
09.12.2014 22:48:15
Stefan
Hallo Rene,
bekomme leider folgende Fehlermeldung:
objRibbon.Invalidate
Gruss
Stefan

AW: Ribbon
10.12.2014 05:00:30
mumpel
Wie lautet die Fehlermeldung genau? Häng mal eine Beispieldatei an.

AW: Ribbon
10.12.2014 08:46:28
Stefan
Guten Morgen Rene,
habe heute Morgen noch einmal bei Null angefangen. War wohl gestern Abend doch schon etwas spät.
Läuft einwandfrei. Weiß der Teufel was ich gestern falsch gemacht habe. Danke für die Hilfe.
Eine weitere Frage habe ich noch. Wie kann ich erreichen, dass die anderen Ribbon alle, bzw. Teilweise ausgeblendet werden wenn ich auf Tabellenblatt1 bin.
Gruss
Stefan

Anzeige
AW: Ribbon
10.12.2014 11:30:00
mumpel
Dafür musst Du die getVisible-Eigenschaft der Tabs nutzen. Als Beispiel habe ich mal zwei Tabs ("Start" und "Entwicklertools") eingebaut.
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="onLoad_Test23" >
  <ribbon>
    <tabs>
       <tab id="tab0" label="Erstes" getVisible="Visible_Test23" >
          <group id="grp0" label="Erste">
            <button id="btn0" label="Erster" imageMso="HappyFace" size="large" onAction="onAction_Test23" />
          </group>
       </tab>
       <tab idMso="TabHome" getVisible="Visible_Test23" />
       <tab idMso="TabDeveloper" getVisible="Visible_Test23" />
    </tabs>
  </ribbon>
</customUI>


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 15

Anzeige
AW: Ribbon
10.12.2014 15:19:15
Stefan
Hey Rene,
habe die XML erweitert.



Im Modul habe ich den Code wie folgt versucht zu ändern:
Option Private Module
Option Explicit
Public objRibbon As IRibbonUI
Public Sub onLoad_Test23(ribbon As IRibbonUI)
Set objRibbon = ribbon
End Sub

Public Sub Visible_Test23(control As IRibbonControl, ByRef returnValue)
If ActiveSheet.Name = "Tabelle2" Then
returnValue = False
Else
returnedVal = True
End If
End Sub

Public Sub onAction_Test23(control As IRibbonControl)
MsgBox control.ID
End Sub
Leider weiß ich aber nicht warum es nicht klappt.
Wenn Tabbellenblat 2 ausgewählt wird sollen am ende alle Ribbon bis auf den Test-Ribbon ausgeblendet sein. ich bekomme es aber leider nicht einmal hin den Start Ribbon auszublenden.
Welchen Denkfehler mache ich?
Gruss
Stefan

Anzeige
AW: Ribbon
10.12.2014 20:59:57
mumpel
Wenn Du es korrekt übernimmst müsste es eigentlich funktionieren. Poste mal eine Beispieldatei.

AW: Ribbon
10.12.2014 21:39:58
Stefan
Hallo Rene,
Namen habe ich gefunden
Start / TabHome
Einfügen / TabInsert
Seitenlayout / TabPageLayoutExcel
Formeln / TabFormulas
Daten / TabData
Überprüfen / TabReview
Entwicklertools / TabDeveloper
Ansicht / TabView
Gruss
Stefan

AW: Ribbon
10.12.2014 21:53:45
mumpel
1. Ich kann keinen Fehler finden. Du musst für jedes Tab eine eigene Zeile in der XML-Datei definieren.
2. Es genügt wenn Du "If ActiveSheet.Name = "Tabelle2" Then returnValue = True" schreibst. Die Zeile mit "False" musst Du nicht setzen, da "returnValue" standardmäßig False ist.

Anzeige
AW: Ribbon
10.12.2014 22:13:11
Stefan
Hallo Rene,
habe nun erneut die Mappe hochgeladen.
Es ist genau verkehrt.
Wenn ich auf Blatt 2 gehe sind "ALLE" Ribbon sichtbar.
Auf Blatt 1 und Blatt 3 sind alle weg.
Auf Blatt 2 soll aber der Ribbon "Meins" zu sehen sein.
Abschliessend fehlen mir noch die Ribbon Namen für ADD-INS und kennst du den Namen für Nitro Pro?
Lieben Gruss
Stefan
https://www.herber.de/bbs/user/94337.xlsm

AW: Ribbon
10.12.2014 22:18:22
Stefan
Ich kann mir helfen wenn ich folgendes einfüge:
Public Sub Visible_Test23(control As IRibbonControl, ByRef returnValue)
If ActiveSheet.Name = "Tabelle1" Then returnValue = True
If ActiveSheet.Name = "Tabelle3" Then returnValue = True
End Sub
Gruss
Stefan

Anzeige
AW: Ribbon
11.12.2014 00:03:50
mumpel
"Nitro Pro" lässt sich nicht deaktivieren, da es sich dabei um ein Fremdtool handelt. Auf Fremdtools kann man nicht per RibbonX zugreifen.
Das Add-Ins-Tab hat die idMso TabAddIns
Wenn Du die anderen Tabs ausblenden möchtest musst Du dafür ein eigenes Callback nutzen.

AW: Ribbon
11.12.2014 07:33:25
Stefan
Guten Morgen Rene,
danke für die Info.
Nun muss ich erst mal erforschen was ein Callback ist. Langsam glaube ich das wirde eine Nummer zu groß für mich.
Melde mich ggf noch einmal.
Gruss
Stefan

VBA nur mit Recorder und dann Ribbons? .......
11.12.2014 08:38:01
robert
owT

Das muss nun sein !
11.12.2014 08:56:06
Stefan
So Robert nun habe ich die Faxen dicke mit Dir!
FUCK YOU

Anzeige
und wenn du mehr willst sag es
11.12.2014 08:56:56
Stefan
.

bin schon in einem Alter wo man leicht sensibel...
11.12.2014 09:33:04
robert
..brauch nicht mehr, ich hab genug.....

AW: und wenn du mehr willst sag es
11.12.2014 10:32:06
mumpel
Bitte keinen Streit, liebe Leute!
Nur zur Info:
Als "Callback" bezeichnet man die Prozeduren (onLoad, onAction, getVisible, getEnabled etc.) die durch die Ribbon-Elemente aufgerufen/ausgelöst werden. "Callback" ist eben englisch, und verliert in der Übersetzung.

AW: und wenn du mehr willst sag es
11.12.2014 13:19:44
Stefan
Hallo Rene,
danke nochmals für Deine Hilfe.
Nachdem ich nun fast 5 Stunden gelesen und probiert habe gebe ich auf.
Gruss
Stefan

AW: und wenn du mehr willst sag es
12.12.2014 10:04:01
Stefan
Guten Morgen Rene,
neuer Versuch. Kannst Du mir ein Beispiel für so ein Callback schreiben.
Vielleicht bekomme ich es ja doch noch hin.
Gruss
Stefan

Anzeige
AW: und wenn du mehr willst sag es
12.12.2014 11:20:48
mumpel
In "DieseArbeitsmappe":
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
objRibbon.Invalidate
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 15
In ein allgemeines Modul:
Option Private Module
Option Explicit

Public objRibbon As IRibbonUI

Public Sub onLoad_Test23(ribbon As IRibbonUI)
Set objRibbon = ribbon
End Sub

Public Sub Visible_Test23(control As IRibbonControl, ByRef returnValue)
   Select Case ActiveSheet.Name
          Case "Tabelle1"
               returnValue = True
          Case Else
               returnValue = False
   End Select
End Sub

Public Sub onAction_Test23(control As IRibbonControl)
MsgBox control.ID
End Sub

Private Sub Visible_inTabs(control As IRibbonControl, ByRef returnValue)
   Select Case ActiveSheet.Name
          Case "Tabelle2", "Tabelle3"
               returnValue = True
          Case Else
               returnValue = False
   End Select
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 15
RibbonX-Code:
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"
          onLoad="onLoad_Test23" >
  <ribbon>
    <tabs>
       <tab id="tab0" label="Erstes" getVisible="Visible_Test23" >
          <group id="grp0" label="Erste">
            <button id="btn0" label="Erster" imageMso="HappyFace"
                    size="large" onAction="onAction_Test23" />
          </group>
       </tab>
       <tab idMso="TabHome" getVisible="Visible_inTabs" />
       <tab idMso="TabDeveloper" getVisible="Visible_inTabs" />
    </tabs>
  </ribbon>
</customUI>


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 15

Anzeige
AW: und wenn du mehr willst sag es
12.12.2014 20:23:11
Stefan
Hallo Rene,
bin auf dem Weg, es klappt.
im Moment versuche ich gerade eignes Icon einzubinden.
Habe das Icon im selben Verzeichnis wie die gespeicherte Mappe liegen, wird aber nicht angezeigt.
Muss ich da eine Pfadeingabe setzen? Im Moment habe ich da stehen:
label="Button 1"
image="aaa.ico"
size="large"
Die Mappe liegt in LW D:\, das Icon in D:\aaa.ico
Gruss
Stefan

AW: und wenn du mehr willst sag es
12.12.2014 21:03:00
mumpel
Die Icons müssen über den CustomUI-Editor in die Datei integriert werden. Dazu im CustomUI-Editor auf das dritte Symbol ("Insert Icons") klicken und dem Dialog folgen. Die Abmessungen sollten idealer Weise 32x32 für große Icons und 16x16 für kleine Icons betragen.

Nachtrag
12.12.2014 21:07:47
mumpel
Den Bildnamen immer ohne Dateiendung angeben, also image="ico"

AW: Nachtrag
13.12.2014 10:33:01
Stefan
Guten Morgen Rene,
danke für den Hinweis, bekomme aber immer im Editor die Meldung "Allgemeiner Fehler in GDI+".
Im Netz gibt es zu diesem Fehler reichlich Material, aber irgendwie finde ich nicht den richtigen Hinweis. Hast Du eine Idee warum ich immer so eine Fehlermeldung bekomme?
Gruss
Stefan

AW: Nachtrag
13.12.2014 11:43:17
mumpel
Weshalb dieser Fehler kommt weiss ich nicht. Es gäbe noch die Möglichkeit, die Icons manuell in die Datei einzubinden, nur dürfte das eventuell Deine Kenntnisse übersteigen. Siehe hierzu Bilder manuell einfügen

AW: Nachtrag
13.12.2014 20:19:52
Stefan
Hallo Rene,
habe alles so eingebaut wie beschrieben, allerdings noch nicht in der ui Editor das neue Bild / Icon eingebunden.
Nun bekomme ich eine Meldung von Excel, magst einmal in die Mappe schaun?
Gruss
Stefan
https://www.herber.de/bbs/user/94386.xlsm

Hilfe ? oder schon Auftrag ? owT....
13.12.2014 20:51:16
robert

Robert geh Wetten das schaun
13.12.2014 21:13:55
Stefan
zu mehr bist Du glaube ich eh nicht in der Lage.
Ich habe auch ein wenig beobachtet. Deine Hilfe hier hält sich in Grenzen.
Das betrifft a die Qualität und b die Form.
Also genieße doch Deine Altersfreizeit und nerve nicht ständig rum.
Ansonsten freue Dich das ich nicht weiß wo ich Dich zu einem pers Gespräch treffen kann.
Da hätte ich viel Freude dran.
In diesem Sinne lege Dich hinter den Ofen und Shut Up
Wenigachtungsvoll
Stefan

AW: Nachtrag
14.12.2014 02:36:34
mumpel
Da sind eine Menge Fehler drin. Du hast Dich überhaupt nicht an die Anleitung gehalten.
Zum Ersten hast Du in der "[Content_Types].xml" die Extension "png" mehrfach vergeben. Das darf aber nicht sein. Du kannst für eine JPG-Datei nicht die Extension "png" setzen.
Zum Zweiten sind Deine Icons vom Typ "ICO" ("aaa.ico" und "Apps.ico") fehlerhaft. Irgendetwas hast Du beim Erstellen Deiner ICO-Dateien falsch gemacht. Daher kann der CustomUI-Editor diese Dateien nicht verarbeiten, was mit der Meldung "Allgemeiner Fehler in GDI+" quittiert wird. Die anderem beiden Icons ("chrome.png" und "Telefon.jpg") sind in Ordnung und werden vom CustomUI-Editor auch sauber verarbeitet.
Zum Dritten hat Deine "customUI14.xml" die Endung "txt", anstatt "rels" wie im Workshop beschrieben.
Zum Vierten hast Du mehr Icons in die Datei integriert als in der "customUI14.xml.rels" eingetragen. Es sollten immer nur die Icons integriert werden die auch in der "customUI14.xml.rels" eingetragen sind.
Zum Fünften ist die "customUI14.xml.rels" fehlerhaft. Die "Links" müssen in Anführungszeichen stehen.
Zum Sechsten ist ein Fehler drin den ich nicht genauer identifizieren kann (dafür brauche ich mehr Zeit).
Zum Siebenden muss/sollte die Bild-Id den Namen der Bilddatei tragen. Wenn das Bild "chrome.png" heisst muss/sollte die Id "chrome" lauten.
Fazit:
Du hast eine Menge Fehler eingebaut. Ich glaube das manuelle Einfügen ist für Dich eine Nummer zu groß. Nutze zum Einfügen der Icons den CustomUI-Editor, aber verzichte zwingend auf Deine fehlerhaften Icons vom Typ ICO ("aaa.ico" und "Apps.ico").

AW: Nachtrag
14.12.2014 10:43:56
Stefan
Hallo Rene,
werde mich hinsetzen und alle Fehler die Du aufgeführt hast beheben.
Melde mich dann.
Dane Dir für die Mühe.
Gruss
Stefan

Zitat von dir-lies mal.....
14.12.2014 08:17:20
dir-lies
Hallo Jorgi,
ich glaube das man Dir hier nicht wirklich was baut. Die Hilfe hier ist mehr als Hilfe gedacht und keine Auftragsprogrammierung.

AW: Von mir - lies mal.....
14.12.2014 12:03:08
Stefan
Im Gegensatz zu Dir helfe ich den aber trotzdem

Neuer Stand
14.12.2014 13:24:40
Stefan
Hallo Rene,
die Fehler habe ich rausgenommen. Neusten Stand der Datei im Anhang.
Leider bekomme ich das Chrome.PNG immer noch nicht angezeigt.
Gruss
Stefan
https://www.herber.de/bbs/user/94400.xlsm

AW: Neuer Stand
14.12.2014 22:23:26
mumpel
Wenn Du den CustomUI-Editor nutzt sollte es diese Probleme nicht geben.

Nachtrag
15.12.2014 01:42:09
mumpel
In der "customUI14.xml.rels" fehlt in der ersten Zeile noch immer ein Anführungszeichen.
Benutze mal eine jungfräuliche Datei. In Deiner derzeitigen Datei ist ein Fehler den ich nicht nachvollziehen kann.

Noch ein Nachtrag
15.12.2014 02:42:05
mumpel
Fehler noch gefunden. In der "customUI14.xml.rels" hast Du das "Relationships"-Tag nicht korrekt geschlossen. Und Du hast etwas zuviel beim Bildverweis angegeben ("package" gehört dort nicht hin). Und Du hast einen Slash zuviel drin. Du solltest Dich schon ganz korrekt an den Workshop halten. Schau Dir dort nochmal das Bild 4 genauer an und vergleiche es mit Deiner "customUI14.xml.rels", dann wirst Du die Fehler sehen. Wenn Du alles korrigierst wird es funktionieren.

AW: Noch ein Nachtrag
15.12.2014 10:02:29
Stefan
Hallo Rene,
trotz Skepsis einiger Mitleser hier, schicke ich nun ein fettes fettes großes Danke rüber.
Es funktioniert!
Danke für Deine Zeit und vor allem Geduld die Du mit mir hattest.
Nun können wir diesen Beitrag, der fast den Rahmen sprengt schließen.
Lieben Gruss
Stefan

AW: Ribbon
15.12.2014 10:20:00
mumpel
Ich habe mal Deine beiden ICO-Files eingebunden. Die Darstellungsqualität im Ribbon ist aber miserabel. Zuviele Farben. Der genutzte Farbraum scheint undgeeignet für die Schnittstelle des CustomUI-Editors. Und auf 3D-Icons besser verzichten, damit der CustomUI-Editor die Bilddateien auch verarbeiten kann.

Aw: Icon Tipp
15.12.2014 22:38:22
Stefan
Hallo Rene,
auch für diesen Tipp bedanke ich mich und werde ihn Einfließen lassen.
Die Icon hatte ich gerade zur Hand und ich dachte für den Übungsfall wäre es nicht von Bedeutung.
Gruss
Stefan

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige