Hallo
Folgende Funktion blendet eine Symbolleiste ein bzw. aus. Wobei du hier beachten musst, dass ActiveExplorer verwendet wird und es deshalb nur funktioniert, wenn Outlook gestartet ist.
Delphi-Quellcode:
uses ComObj;
function ShowOutlookSymbolleiste(symbolleiste: string; show: boolean): boolean;
var
outlook: OleVariant;
i: Integer;
begin
outlook := CreateOleObject('Outlook.Application');
for i := 1 to outlook.ActiveExplorer.commandbars.count do
begin
if outlook.ActiveExplorer.commandbars.item[i].name = symbolleiste then
begin
outlook.ActiveExplorer.commandbars.item[i].visible := show;
result := true;
exit;
end;
end;
result := false;
end;
Ein Aufruf sieht bspw. so aus:
ShowOutlookSymbolleiste('Standard', false);
Die Funktion hab ich jetzt nicht wirklich getestet, dürfte jedoch bei
laufendem Outlook funktionieren.
Du musst also irg. versuchen an die Symbolleisten zu kommen, ohne ein Explorer Objekt zu verwenden. Ob das möglich ist, kann ich dir im Moment nicht sagen.
Ich hoffe ich konnte dir helfen bzw. dich der Lösung einen Schritt näher bringen.
Grüsse
Luki
Edit: Um zu ermitteln, ob ActiveExplorer vorhanden ist und Outlook läuft kannst du einfach überprüfen, ob Outlook.Explorers.count größer 0 ist.