Application.LoadCustomUI-Methode (Access)

Lädt ein XML-Markup, das ein benutzerdefiniertes Menüband darstellt.

Syntax

Ausdruck. LoadCustomUI (CustomUIName, CustomUIXML)

Ausdruck Ein Ausdruck, der ein Application-Objekt zurückgibt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
CustomUIName Erforderlich String Der Name, der zum Identifizieren des benutzerdefinierten Menübands verwendet wird.
CustomUIXML Erforderlich String Der XML-Markupcode, der das benutzerdefinierte Menüband definiert.

HinwBemerkungeneise

Wenn Sie ein Menüband erstellen und für Access bereitstellen möchten, müssen Sie zuerst ein Modul in der Datenbank mit einer Prozedur erstellen, die die LoadCustomUI-Methode aufruft, indem Sie den Namen des Menübands und den XML-Anpassungsmarkup einfügen. Der XML-Markup kann von einem Recordset-Objekt stammen, das von einer Tabelle erstellt wurde, von einer datenbankexternen Quelle (z. B. eine XML-Datei, die Sie in String analysieren) oder von einem XML-Markup, das direkt in eine Prozedur eingebettet wurde.

Sie können unterschiedliche Menübänder zur Verfügung stellen, indem Sie die LoadCustomUI-Methode auf verschiedene Weise aufrufen, verschiedene XML-Markups einfügen. Die Bedingung dafür ist, dass der Name jedes Menübands und das ID-Attribut der Registerkarten, aus denen das Menüband besteht, eindeutig sind.

Nachdem der Vorgang abgeschlossen ist, erstellen Sie ein AutoExec-Makro, das die Prozedur mithilfe der RunCode-Aktion aufruft. Auf diese Weise wird beim Starten der Anwendung die LoadCustomUI-Methode automatisch ausgeführt, und alle benutzerdefinierten Menübänder werden für die Anwendung verfügbar gemacht.

Beispiel

Im folgenden Beispiel wird ein Recordset aus einer beliebigen Tabelle erstellt, die das Wort "Ribbons" in ihrem Namen enthält. Anschließend wird die LoadCustomUI-Methode aufgerufen, um die Menübänder zu laden, um sie für die Datenbank verfügbar zu machen. Schließlich werden der Datensatz und der Verweis auf das Database-Objekt geschlossen.

Function LoadRibbons() 
Dim i As Integer 
Dim db As DAO.Database 
Set db = Application.CurrentDb 
 
For i = 0 To (db.TableDefs.Count - 1) 
 If (InStr(1, db.TableDefs(i).Name, "Ribbons")) Then 
 Dim rs As DAO.Recordset 
 Set rs = CurrentDb.OpenRecordset(db.TableDefs(i).Name) 
 rs.MoveFirst 
 
 While Not rs.EOF 
 Application.LoadCustomUI rs("RibbonName").Value, rs("RibbonXml").Value 
 
 rs.MoveNext 
 Wend 
 
 rs.Close 
 Set rs = Nothing 
 End If 
Next i 
 
db.Close 
Set db = Nothing 
End Function

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.