2013-04-04 21 views
5

Ist es möglich, die Outlook 2013-Standardsignatureinstellungen programmgesteuert festzulegen? Wir können die Unterschrift des Benutzers erzeugen OK möchten aber auch die Unterschrift auf der Standardeinstellung des Benutzers E-Mails angezeigt werden soll:Programmgesteuert Outlook Signature Standards festlegen?

Outlook 2013 Email Signature Defaults

Die Einstellung selbst scheint unter einem Outlook-Profil in der Registry versteckt liegenden sein:

HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6677\00000002

Reg Werte:

  • New Signature
  • Reply-Forward Signature

... (die binären Daten, die vermutlich die Dateinamen/Referenz-HTML-Codierung).

Nicht sicher, ob ich das Outlook-Objektmodell verwenden kann, um auf Einstellungen zuzugreifen und sie festzulegen? Und ob dies mit einer ClickOnce-Anwendung möglich wäre?

+1

Ja: http://stackoverflow.com/a/23151372/737393 – CrazyTim

Antwort

0

Ich habe den Code noch nicht aufgeräumt, aber das funktioniert für mich, um die Signatur in Outlook 2013 zu setzen. In Python (ja, ich weiß, es ist hässlich und nicht PEP8).

import _winreg 
def set_default(): 

    try: 
     #this makes it so users can't change it. 
     outlook_2013_key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, r"Software\Microsoft\Office\15.0\Common\MailSettings", 0, _winreg.KEY_ALL_ACCESS) 
     _winreg.SetValueEx(outlook_2013_key, "NewSignature", 0, _winreg.REG_SZ, "default") 
     _winreg.SetValueEx(outlook_2013_key, "ReplySignature", 0, _winreg.REG_SZ, "default") 

     # sets the sigs in outlook profile 
     outlook_2013_base_key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, r"Software\Microsoft\Office\15.0\Outlook\Profiles", 0, _winreg.KEY_ALL_ACCESS) 
     default_profile_2013_tup = _winreg.QueryValueEx(outlook_2013_base_key,'DefaultProfile') 
     default_profile_2013 = default_profile_2013_tup[0] 
     print default_profile_2013 
     outlook_2013_profile_key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER, 
                "Software\\Microsoft\\Office\\15.0\\Outlook\\Profiles\\" + default_profile_2013 + "\\9375CFF0413111d3B88A00104B2A6676", 0, _winreg.KEY_ALL_ACCESS) 
     for i in range(0, 10): 
      try: 
       outlook_2013_sub_key_name = _winreg.EnumKey(outlook_2013_profile_key,i) 
       print outlook_2013_sub_key_name, "sub_key_name" 
       outlook_2013_sub_key = _winreg.OpenKey(outlook_2013_profile_key, outlook_2013_sub_key_name, 0, _winreg.KEY_ALL_ACCESS) 
       _winreg.SetValueEx(outlook_2013_sub_key, "New Signature", 0, _winreg.REG_SZ, "default") 
       _winreg.SetValueEx(outlook_2013_sub_key, "Reply-Forward Signature", 0, _winreg.REG_SZ, "default") 
      except: 
       pass 

    except: 
     print('no 2013 found') 
Verwandte Themen