Добавьте подчиненный заголовок в Outlook (VBA)

Вы должны заметить, что APPLICATION_ROOT для этой цели НЕ.

Все, что вам нужно сделать, это написать промежуточное программное обеспечение для внесения следующих изменений:

  1. измените PATH_INFO, чтобы обработать префикс url.
  2. изменить SCRIPT_NAME, чтобы сгенерировать префиксный URL.

Как это:

class PrefixMiddleware(object):

    def __init__(self, app, prefix=''):
        self.app = app
        self.prefix = prefix

    def __call__(self, environ, start_response):

        if environ['PATH_INFO'].startswith(self.prefix):
            environ['PATH_INFO'] = environ['PATH_INFO'][len(self.prefix):]
            environ['SCRIPT_NAME'] = self.prefix
            return self.app(environ, start_response)
        else:
            start_response('404', [('Content-Type', 'text/plain')])
            return ["This url does not belong to the app.".encode()]

Оберните свое приложение с помощью промежуточного программного обеспечения, например:

from flask import Flask, url_for

app = Flask(__name__)
app.debug = True
app.wsgi_app = PrefixMiddleware(app.wsgi_app, prefix='/foo')


@app.route('/bar')
def bar():
    return "The URL for this page is {}".format(url_for('bar'))


if __name__ == '__main__':
    app.run('0.0.0.0', 9010)

Посетите http://localhost:9010/foo/bar,

Вы получите правильный результат: The URL for this page is /foo/bar

И не забудьте установить домен cookie, если вам нужно.

Это решение задано gist Larivact. APPLICATION_ROOT не для этой работы, хотя похоже, что это так. Это действительно запутанно.

5
задан user3333333 8 April 2014 в 21:07
поделиться

3 ответа

Или если Вам нужен весь сценарий:

Сделайте Выполнение сценарий с MailItem как параметр.

Sub RewriteSubject(MyMail As MailItem)

    Dim mailId As String
    Dim outlookNS As Outlook.NameSpace
    Dim myMailItem As Outlook.MailItem

    mailId = MyMail.EntryID
    Set outlookNS = Application.GetNamespace("MAPI")
    Set myMailItem = outlookNS.GetItemFromID(mailId)

    ' Do any detection here

    With myMailItem 
      .Subject = "Dept - " & mailItem.Subject
      .Save
    End With

    Set myMailItem = Nothing
    Set outlookNS = Nothing

End Sub
4
ответ дан 15 December 2019 в 01:16
поделиться
Sub AppendSubject(MyMail As MailItem)
    Dim strID As String
    Dim mailNS As Outlook.NameSpace
    Dim mailItem As Outlook.MailItem

    strID = MyMail.EntryID
    Set mailNS = Application.GetNamespace("MAPI")
    Set mailItem = mailNS.GetItemFromID(strID)
    mailItem.Subject = "Dept - " & mailItem.Subject
    mailItem.Save

    Set mailItem = Nothing
    Set mailNS = Nothing
End Sub

Мы пропускаем что-нибудь?Править: Doh! Вы уже ответили на наш вопрос с полным сценарием... Спасибо!

0
ответ дан 15 December 2019 в 01:16
поделиться

Не протестированный:

mailItem.Subject = "Dept - " & mailItem.Subject
mailItem.Save 
0
ответ дан 15 December 2019 в 01:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: