2013-04-04 14 views
5

Czy można programowo ustawić ustawienia domyślnego podpisu programu Outlook 2013? możemy wygenerować podpis użytkownika OK, ale chciałby również ustawić podpis domyślnie wyświetlana w wiadomościach e-mail użytkownika:Programowo ustawić domyślne ustawienia podpisu programu Outlook 2013?

Outlook 2013 Email Signature Defaults

Zachodzące sama wydaje się być schowany-away w rejestrze pod profilem Outlook:

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

Reg wartości:

  • New Signature
  • Reply-Forward Signature

... (które mają dane binarne, przypuszczalnie kodującego nazwy pliku HTML/odniesienie).

Nie jestem pewien, czy mogę używać modelu obiektów programu Outlook do uzyskiwania dostępu i ustawiania ustawień? I czy byłoby to możliwe dzięki aplikacji ClickOnce?

+1

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

Odpowiedz

0

Nie wyczyściłem jeszcze kodu, ale to działa dla mnie, aby ustawić podpis w Outlook 2013. W python (tak wiem, że jest brzydki, a nie 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') 
Powiązane problemy