2013-04-04 10 views
5

प्रोग्रामिंग रूप से Outlook 2013 डिफ़ॉल्ट हस्ताक्षर सेटिंग्स सेट करना संभव है? हम उपयोगकर्ता के हस्ताक्षर ठीक उत्पन्न कर सकते हैं, लेकिन यह भी उपयोगकर्ता के ईमेल में डिफ़ॉल्ट रूप से प्रकट करने के लिए हस्ताक्षर सेट करना चाहते हैं:प्रोग्रामेटिक रूप से Outlook 2013 हस्ताक्षर डिफ़ॉल्ट सेट करें?

Outlook 2013 Email Signature Defaults

ही स्थापित कर रहा है करने के लिए हो सकता है किसी Outlook प्रोफ़ाइल के तहत रजिस्ट्री में tucked दूर:

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

रेग मान:

  • New Signature
  • Reply-Forward Signature

... (जो बाइनरी डेटा है, शायद HTML फ़ाइल नाम/संदर्भ एन्कोडिंग)।

सुनिश्चित नहीं है कि मैं सेटिंग्स एक्सेस करने और सेट करने के लिए Outlook ऑब्जेक्ट मॉडल का उपयोग कर सकता हूं? और क्या क्लिकऑन एप्लिकेशन के साथ यह संभव होगा?

+1

हाँ: http://stackoverflow.com/a/23151372/737393 – CrazyTim

उत्तर

0

मैंने अभी तक कोड साफ़ नहीं किया है, लेकिन यह मेरे लिए Outlook 2013 में हस्ताक्षर सेट करने के लिए काम करता है। पायथन में (हाँ, मैं इसके बदसूरत और पीईपी 8 नहीं जानता)।

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') 
संबंधित मुद्दे