MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Programmierung und Entwicklung (Allgemein) > Web-Programmierung
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 25.01.2016, 16:31   #1
Krautner
Neuer Benutzer
Neuer Benutzer
Standard XML - Update Programm Excel Menüband

Hallo erstmal,

Ich möchte gerade ein kleines Programm schreiben für Excel, welches als eine Art Update fungiert um Menübänder einzufügen und wollte fragen ob wer helfen könnte?

Kurz zur Erklärung wie das ablaufen sollte, die neusten Office Programme wenn man sie abspeichert, sind ja alles in allem verpackte Dateien, bei Excel mit Makros wäre dieses Dateiformat eben xlsm. So nun möchte ich dieses via Visual studio öffnen, darin befinden sich dann 3 Ordner und eine xml Datei, so lange keine Menübänder bereits vorhanden sind.

Die 3 Ordner wären: der Relationship Ordner worin eine Rels-Datei ist, welche ich bearbeiten muss, da dort der Pfad zur CustomUI eingegeben wird, der nächste die docProbs und der letzte der xl Ordner - welche jedoch meines wissens nach nicht relevant sind.

Nun muss ich dort einen neuen Ordner erstellen, namens CustomUI und dort dann die XML Datei, also das Menüband, einfügen.

So mein erstes Problem wäre, ob ich das mit Visual Studio 2010 .Net Framework simpel hinbekommen kann, oder eine höheren Version sinnvoll wäre, da ein Problem davon ist das es ZipArchiveEntry und ZipArchive als Datentyp nicht erkennt.

Als Beispiel

Code:

 Public Sub UpdateCustomUI(ByRef strCustomUI As String)
        'strCustomUI - Pfad und Name der CustomUI-Datei
        Dim bUIFound As Boolean = False
        Dim rels As ZipArchiveEntry = Nothing
        Dim customUI As ZipArchiveEntry = Nothing
        If Not System.IO.File.Exists(strCustomUI) Then
            MsgBox("Datei " & strCustomUI & " nicht gefunden!", MsgBoxStyle.Critical)
            Exit Sub
        End If
        Dim strName As String = System.IO.Path.GetFileName(strCustomUI)
        Using archive As ZipArchive = ZipFile.Open(DocName, ZipArchiveMode.Update)
            For Each entry As ZipArchiveEntry In archive.Entries
                If entry.FullName.EndsWith(strName, StringComparison.OrdinalIgnoreCase) Then
                    entry.Delete()
                    bUIFound = True
                ElseIf entry.FullName = "_rels/.rels" Then
                    rels = entry
                End If
            Next
            If Not bUIFound Then 'CustomUI war noch nicht vorhanden und der Verweis muss eingefügt werden
                If rels Is Nothing Then
                    MsgBox("Rels wurde nicht im Archiv gefunden!", vbCritical)
                    Exit Sub
                Else
                    AddReference(archive, rels)


                End If
            End If
            'Neue CustomUI einfügen
            archive.CreateEntryFromFile(strCustomUI, "customUI\" & strName)
        End Using

    End Sub


End Class
Also, manuell funktioniert das alles wunderbar, ich schreib die xlsm als zip datei um, entpacke diesen, ändere die Rels Datei, erstelle einen neuen Ordner namens CustomUI und füge dort die xml Datei ein, markiere wieder jeden Ordner, sende sie an zip komprimierte Ordner und benenne diesen wieder um als xlsm Datei, führe diese aus - klickt auf Ansicht einblenden und das Menüband ist vorhanden.

Und es sollte eben mehrfach verwendebar sein, also auch auf anderen Computern laufen, sonst könnte ich ja einfach den CustomUI Editor welchen ich mir runtergeladen habe verwenden, aber da der natürlich nicht bei jedem vorhanden ist, eben eine schlechte Möglichkeit.
Krautner ist offline  
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 Aus.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 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.