Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Im Outlook eine Symbolleiste ein- bzw. ausblenden (https://www.delphipraxis.net/53775-im-outlook-eine-symbolleiste-ein-bzw-ausblenden.html)

Schodn 22. Sep 2005 08:27


Im Outlook eine Symbolleiste ein- bzw. ausblenden
 
kann mir dazu wer weiterhelfen?

mfg
Schodn

n0b0dy 22. Sep 2005 08:29

Re: Im Outlook eine Symbolleiste hinzufügen bzw. entfernen
 
also beim 2003er kann man imho keine mehr hinzufügen. man kann lediglich vorgegebene ein/ausblenden...

[EDIT]
ach sorry. ich habe das falsch verstanden. ich dachte an die Outlookleiste aber du meintest ja normale Symbolleitsten nehmich an

Schodn 22. Sep 2005 08:38

Re: Im Outlook eine Symbolleiste hinzufügen bzw. entfernen
 
Ich habe für Outlook ein Makro geschrieben. dieses wird mit einem button im Outlook aufgerufen.

Diesem Button hab ich auf eine eigene Symbolleiste gelegt.

Diese Symbolleiste will ich nun vom Delphi aus ein und ausblenden.

mfg

Schodn 22. Sep 2005 09:24

Re: Im Outlook eine Symbolleiste hinzufügen bzw. entfernen
 
Kann mir da keiner helfen? das wär echt dringend ich find nirgends etwas

BrunoT 22. Sep 2005 10:16

Re: Im Outlook eine Symbolleiste hinzufügen bzw. entfernen
 
Schau in die Registry und sieh welche Werte du manipulieren musst, das geht dann von Delphi aus.

mfg

BrunoT

BrunoT 22. Sep 2005 11:13

Re: Im Outlook eine Symbolleiste hinzufügen bzw. entfernen
 
Hi Schodn,

ich versuche nur zu helfen:

Zitat:

HKU\Software\Microsoft\office\11.0\Common\Toolbars \CustomizeDlgTab: 0x00000001
Lade Dir mal das Programm RegCool und dann mache mal Schnappschüsse deiner Reg.

Die kann RegCool vergleichen.

Und in Delphi gibt es möglichkeiten, Registry-Einträge zu manipulieren. Unit Registry :mrgreen:


mfg

BrunoT

Schodn 22. Sep 2005 12:09

Re: Im Outlook eine Symbolleiste hinzufügen bzw. entfernen
 
danke für deine hilfe, aber i seh keinen unterschied in der reg.

i krieg gleich einen Herz-zick-zack

kann ich so nichts machen?
Delphi-Quellcode:
OutlookApplication1.ActiveExplorer.CommandBars.Item[1].Set_Visible(FALSE);

memphis 22. Sep 2005 15:18

Re: Im Outlook eine Symbolleiste ein- bzw. ausblenden
 
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:
Delphi-Quellcode:
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.

Schodn 23. Sep 2005 07:10

Re: Im Outlook eine Symbolleiste ein- bzw. ausblenden
 
Danke das war schon mal eine sehr große hilfe.

Jetzt muss ich das nur noch so umschreiben, dass ich zuerst eine neue Message öffne und bei dieser Message die Symbolleiste ausblende

Schodn 23. Sep 2005 10:02

Re: Im Outlook eine Symbolleiste ein- bzw. ausblenden
 
LÖSUNG

Um das Nachrichtenfenster öffnen und eine Symbolleiste aus- bzw. einzublenden


Delphi-Quellcode:
function ShowOutlookSymbolleiste(symbolleiste: string; show: boolean): boolean;
var
  outlook: OleVariant;
  i: Integer;
  vMailItem: variant;
begin
  outlook := CreateOleObject('Outlook.Application');
  vMailItem := Outlook.CreateItem(olMailItem);
  vMailItem.Display;
  for i := 1 to outlook.ActiveInspector.commandbars.count do
  begin
    if outlook.ActiveInspector.commandbars.item[i].name = symbolleiste then
    begin
      outlook.ActiveInspector.commandbars.item[i].visible := show;
      result := true;
    end;
  end;
  result := false;
end;

Aufruf
Delphi-Quellcode:
    ShowOutlookSymbolleiste('Format', TRUE);


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz