ADODB.Stream を使用して Outlook 2013 にカスタム リボンを追加する方法があります。
私は数年前からこのソリューションを職場で使用していますが、自宅でも適用できませんでした。
まず、XML 構造を含むテキスト ファイルを準備します。
Dim Stream As Object
Dim FSO As FileSystemObject
Dim tsZwischenspeicher As TextStream
Set Stream = CreateObject("ADODB.Stream")
Set FSO = CreateObject("Scripting.FileSystemObject")
strPfad = "C:\Users\" & (Environ("username")) & "\AppData\Local\Microsoft\Office\"
strSpeicherpfad = strPfad & "olkexplorer.officeUI"
strTempSpeicherpfad = strPfad & "olkexplorer.temp"
...
tsZwischenspeicher.WriteLine Anführungszeichen("<mso:customUI xmlns:x1='http://schemas.microsoft.com/office/2009/07/customui/macro' xmlns:mso='http://schemas.microsoft.com/office/2009/07/customui'>")
tsZwischenspeicher.WriteLine Anführungszeichen("<mso:ribbon>") & vbCrLf
tsZwischenspeicher.WriteLine Anführungszeichen("<mso:qat>")
tsZwischenspeicher.WriteLine Anführungszeichen("<mso:sharedControls>")
tsZwischenspeicher.WriteLine Anführungszeichen("<mso:control idQ='mso:FilePrint' visible='false'/>")
次に、生成された XML ファイルを ADODB.Stream 経由で Outlook に転送できます。
'Eine neue Fußzeile erstellen
tsZwischenspeicher.WriteLine Anführungszeichen("</mso:tabs>")
tsZwischenspeicher.WriteLine Anführungszeichen("</mso:ribbon>")
tsZwischenspeicher.WriteLine Anführungszeichen("</mso:customUI>")
'Zwischengespeicherte Datei schließen
tsZwischenspeicher.Close
Stream.Open
Stream.Type = 2 'text
Stream.Charset = "utf-8"
Stream.LoadFromFile strTempSpeicherpfad
FSO.OpenTextFile(strSpeicherpfad, 2, True, True).Write Stream.ReadText
Stream.Close
Outlook を再起動する必要があり、新しいリボンが表示されます。