Office: Custom UI Editor XML Excel

Helfe beim Thema Custom UI Editor XML Excel in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich möchte in Excel eine CustomUI hinzufügen, mit dem Custom UI Editor funktioniert das auch problemlos, jedoch möchte ich das später in VBA... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Krautner, 1. Dezember 2015.

  1. Custom UI Editor XML Excel


    Hallo,

    ich möchte in Excel eine CustomUI hinzufügen, mit dem Custom UI Editor funktioniert das auch problemlos, jedoch möchte ich das später in VBA mit Visual Studio machen, nun wollte ich das nun erst einmal manuell versuchen, nun stoße ich auf 2 Probleme, mit der Komprimierung stimmt etwas nicht, wenn ich die Dateien entpacke dann modifiziere (die customUI einfüge) und wieder verpacke gibt es da einen Größenunterschied, wenn ich die zip dann in eine xlsm umwandle bekomme ich die Meldung das es nicht gestartet werden kann, da sie scheinbar beschädigt sei.

    Meine weitere Frage ist, wie verhält sich das mit der ID im Relationship ordner?

    Vielen dank schonmal

    :)
     
    Krautner, 1. Dezember 2015
    #1
  2. Okay das Problem mit der Komprimierung hat sich erledigt, habe die Dateien immer in einem Ordner in eine zip umgewandelt, so konnte Excel nicht ausgeführt werden.

    Jedoch bekomme ich die CustomUI nicht zum laufen in meine relationship Datei hab ich das so stehen



    wenn ich nun alle Ordner in eine zip rein tue und diese zip dann in xlsm umschreibe, startet zwar Excel, aber ich sehe die Menüleiste nicht *frown.gif*
     
    Krautner, 3. Dezember 2015
    #2
  3. Hallo Krautner,

    so darfst Du das auch nicht machen; per Maus geht das so:
    - zip-Datei per Doppelklick öffnen (Winzip oder Winrar öffnet sich)
    - gewünschte xml-Datei aus der Zip-Datei per Doppelklick öffnen
    - hier: CustomUI/customUI.xml bzw. CustomUI14/customUI.xml
    - Winzip bzw. WinRar NICHT schließen
    - customUI.xml bearbeiten / speichern
    - jetzt Zip-Programm schließen und Meldungsfenster mit Ja/OK bestätigen
    - damit wurde die xml-Datei inhaltlich geändert & in der Zip-Datei neu eingeordnet

    Man muß/darf also nicht die gesamte xlsm/xlam-Datei entpacken. Und genau für dieses Verfahren gibt es in VB.Net/C# eine eigene Zip-Package-Klasse.
    Damit kann man einzelne Dateien aus der Zip-Datei entpacken, als Text-Stream einlesen, verändern, speichern und wieder zurückschreiben in die Zip-Datei. Hier mal der Anfang für VB.Net: Code:
    Gruß von Luschi
    aus klein-Paris
     
  4. Custom UI Editor XML Excel

    Ich muss die CustomUI ja aber erst einmal einfügen - wenn ich das ohne den customUI Editor machen möchte, muss ich ja die Zipdatei auspacken, ansonsten kann ich ja keinen Ordner einfügen.

    Momentan versuche ich das so

    Ich wandle die xlsm Datei in eine Zip Datei um, entpacke diese, erhalte einen Ordner mit _rels, docProps, xl und eine [Content_Types].xml

    Erstelle nun einen neuen Ordner und benenne ihn customUI
    füge dort die .txt Datei welche so aussieht


    PHP:
             <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <
    ribbon startFromScratch="false">
    <
    tabs>
    <
    tab id="pfdTAB" label="ProGo" insertBeforeMso="TabHome">
    <
    group id="pfdDraw" label="Format">
    <
    button id="pfdFormatFB" label="Format FB" imageMso="FormatCellsMenu" size="large" onAction="fktFormatFxUI" />
    <
    button id="pfdFormatColor" label="Colorize cycles" imageMso="BlogCategories" size="large" onAction="fktFormatColor" />
    <
    button id="pfdFormatBlack" label="Cycles black" imageMso="BlackAndWhite" size="large" onAction="fktFormatBlack" />
    </
    group>
    <
    group id="pfdTools" label="Tools">
    <
    button id="pfdRename" label="Rename" imageMso="Rename" size="large" onAction="fktRenameNameUI" />
    <
    button id="pfdExportText" label="Export Text" imageMso="Export" size="large" onAction="fktExportTextUI" />
    <
    button id="pfdImportText" label="Import Text" imageMso="Import" size="large" onAction="fktImportTextUI" />
    </
    group>
    </
    tab>
    </
    tabs>
    </
    ribbon>
    </
    customUI>
     
    Krautner, 3. Dezember 2015
    #4
  5. Okay, ein Fehler wurde behoben, ich habe es nun mit dem Editor abgespeichert und als Codierung UTF-8 verwendet, wenn ich es nun starte gibt es einen unterschied zum CustomUI Editor, wenn ich die xlsm nun ausführe bekomme ich die Meldung "Von Excel wurde unlesbarer Inhalt in 'Test.xlsm' gefunden. Möchten Sie den Inhalt dieser Arbeitsmappe wiederherstellen? Wenn Sie der Quelle dieser Arbeitsmappe vertrauen, klicken Sie auf 'Ja'., getan erhalte ich meine Menüleiste, ebenso ist das Modul vorhanden, die frage ist nur woran das liegt.

    Versuche nun erst einmal mit Windiff die 2 Rels zu vergleichen, die von Excel veränderte und die wo ich erstellt habe..

    im Editor sehe ich schon mal das sich die ID von ID="rId5" in Id="rE5985363-01A7-4B03-9B88-55253360FC97" verändert hat
     
    Krautner, 3. Dezember 2015
    #5
  6. Hallo!

    Du musst die Datei nicht komplett entpacken. Du musst nur die customUI-Datei erstellen und in einen passenden Ordner im Dateikontainer ablegen. Welcher Ordner ist egal solange in der ".rels" sauber referenziert wird. Die .rels" musst Du nur einmal anpassen, dann nie wieder (es genügt dann das Anpassen des Costum-UI-Parts). Probleme entstehen wenn für die CustomUI zwei Zeilen in der ".rels" stehen.

    Gruß, René
     
  7. Custom UI Editor XML Excel

    Danke, nun hat es aber auch funktioniert, ohne das sich die Id verändert hat, die Relationship Datei ist auch gleich geblieben nach dem ausführen und hat die Id nicht verändert.

    Ich möchte ja mit Microsoft Visual Studio ein Update Programm erstellen, das in den ganzen alten Excel Daten diese CustomUI mit dem Menüband erstellt wird. Dazu habe ich erst einmal versucht das manuell zu erzeugen ohne irgendwelche Fehlermeldungen, da es doch einige hunderte Excel Dateien sind.
     
    Krautner, 3. Dezember 2015
    #8
  8. Das kann man auch mit VBA machen. Hans W. Herber hat das vor vielen Jahren mal gemacht. Leider ist die Datei nicht mehr verfügbar, sonst hätte man mal reinschauen können wie er das gemacht hat.
     
  9. Hoffe ich finde da was ähnliches woran ich mich orientieren kann
     
    Krautner, 3. Dezember 2015
    #10
  10. Also, das mit dem einfügen der customUI funktioniert schon einigermaßen gut, nun ist das Problem mit dem Relationship ändern.

    hab an so was gedacht


    PHP:
             Private Function GetUI_Element() As XElement
    Dim UIElement 
    As New XElement(<Relationship Id="rId5" Type="http://schemas.microsoft.com/office/2007/relationships/ui/extensibility" Target="customUI/customUI14.xml"/>)

    Return 
    UIElement
    End 
    Function

    Private 
    Sub AddReference(ByRef archive As ZipArchiveByRef rels As ZipArchiveEntry)
    Dim strTarget "customUI/customUI14.xml"
    Dim bUIFound As Boolean False
    'Element hinten anfügen
    Using readRels As StreamReader = New StreamReader(rels.Open())
    Dim reader As XmlTextReader = New XmlTextReader(readRels)
    Dim dDoc = XDocument.ReadFrom(reader)
    Dim nNode As XElement
    '
    dDoc.AddAfterSelf(GetUI_Element)
    'dDoc.Document.ToString()
    Dim nodes() As XmlNode = dDoc.NodesAfterSelf
    '
    Web.deim rRelationship From Relationship In <Relationships>.<Relationship>  Where Relationship.<Target>.Value strTarget
    While reader.MoveToAttribute("Target")
    If 
    reader.GetAttribute("Target") = strTarget Then bUIFound True
    End 
    While
    'If bUIFound = False Then
    '    
    dDoc.AddAfterSelf(GetUI_Element)
    'End If
    readRels.Close()
    '
    Target "/customUI/customUI14.xml"
    End Using
    End Sub
     
    Krautner, 4. Dezember 2015
    #11
Thema:

Custom UI Editor XML Excel

Die Seite wird geladen...
  1. Custom UI Editor XML Excel - Similar Threads - Custom Editor XML

  2. Erstellen von Geschäftskontakten in Outlook Customer Manager

    in Microsoft Outlook Tutorials
    Erstellen von Geschäftskontakten in Outlook Customer Manager: Erstellen von Geschäftskontakten in Outlook Customer Manager Outlook für Microsoft 365 Outlook 2019 Outlook 2016 Mehr... Weniger...
  3. Verwalten von Aufgaben und automatischen Erinnerungen in Outlook Customer Manager

    in Microsoft Outlook Tutorials
    Verwalten von Aufgaben und automatischen Erinnerungen in Outlook Customer Manager: Verwalten von Aufgaben und automatischen Erinnerungen in Outlook Customer Manager Outlook für Microsoft 365 Outlook 2019 Outlook 2016 Mehr... Weniger...
  4. Erstellen und Verwalten von Unternehmenskontakten in Outlook Customer Manager

    in Microsoft Outlook Tutorials
    Erstellen und Verwalten von Unternehmenskontakten in Outlook Customer Manager: Erstellen und Verwalten von Unternehmenskontakten in Outlook Customer Manager Outlook für Microsoft 365 Outlook 2019 Outlook 2016 Mehr... Weniger...
  5. Nachverfolgen von Verkaufschancen in Outlook Customer Manager

    in Microsoft Outlook Tutorials
    Nachverfolgen von Verkaufschancen in Outlook Customer Manager: Nachverfolgen von Verkaufschancen in Outlook Customer Manager Outlook für Microsoft 365 Outlook 2019 Outlook 2016 Mehr... Weniger...
  6. RibbonX Custom UI

    in Microsoft Excel Hilfe
    RibbonX Custom UI: Hallo, ich bin neu auf dem Sektor Custom UI Editor etc. und komme daher gerade nicht weiter. Habe bereits den Workshop von Mumpel durchgearbeitet, leider finde ich nicht alle notwendigen...
  7. Ribbon Custom UI Editor

    in Sonstiges
    Ribbon Custom UI Editor: Hallo, ich programmiere AddIns in VBA und passe mein Ribbon Menü über einen Custom UI Editor an. Nun möchte ich gerne ein In-Ribbon-Menü und eine Drop-Down-Gallery integrieren, wie es auch in...
  8. Word 2007 Ribbon erstellen mit Custom UI

    in Microsoft Word Hilfe
    Word 2007 Ribbon erstellen mit Custom UI: Hallo, ich möchte heute erstmalig einen eigene Ribbons erstellen mit Custom UI, aber bin bis dato gescheitert. Ich bin wie folgt vorgegangen: 1. Word Deitei mit Name "Test.docm" erstellt 2....
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden