Макрос MS Outlook к зачеркнутому выделенному тексту

Не потрудитесь делать это.

Вместо этого используют Пул потоков . Пул потоков является механизмом (на самом деле класс) платформы, которую можно запросить для нового потока.

, Когда Вы просите новый поток, чтобы он или дал Вам новый или ставил в очередь работу, пока поток не освобожден. Таким образом платформа является главной при решении, должно ли это создать больше потоков или не в зависимости от количества существующих центральных процессоров.

Редактирование: Кроме того, как это было уже упомянуто, ОС отвечает за распределение потоков среди различных центральных процессоров.

10
задан RubberDuck 17 February 2015 в 01:17
поделиться

3 ответа

Вот несколько примечаний о том, как возиться с открытым сообщением, здесь нет проверок, он просто предполагает, что у вас есть открытое почтовое сообщение. Если вы хотите рассказать немного больше о том, что вы хотите сделать и в какой версии, я могу помочь немного больше.

Dim ActiveMessage As MailItem
Dim strHTML As String

Set ActiveMessage = ActiveInspector.CurrentItem
Debug.Print ActiveMessage.Body
Debug.Print ActiveMessage.HTMLBody

strHTML = Replace(ActiveMessage.Body, "This sentence is bold", _
    "<STRONG>This sentence is bold</STRONG>")

ActiveMessage.HTMLBody = strHTML

Debug.Print ActiveMessage.HTMLBody
1
ответ дан 3 December 2019 в 22:37
поделиться

Это предполагает, что на вашем ящике также установлена программа Word. Если это так, то вы можете получить доступ к большей части Word OM из Outlook VBE без ссылки на Word, используя объект ActiveInspector.WordEditor.

Sub StrikeThroughinMailItem()
    Dim objOL As Application
    Dim objDoc As Object
    Dim objSel As Object
    Set objOL = Application
    Set objDoc = objOL.ActiveInspector.WordEditor
    Set objSel = objDoc.Windows(1).Selection
    objSel.Font.Strikethrough = True
End Sub
13
ответ дан 3 December 2019 в 22:37
поделиться

Вам необходимо получить доступ к HTMLEditor или WordEditor инспектора. Проверьте файл справки для примера кода. Если вы используете WordEditor, вы можете записать макрос в Word и включить полученный код в макрос Outlook с помощью WordEditor.

Public Sub DoIt()
    'must set word as mail editor
    'must set reference to word object library

    Dim oInspector As Outlook.Inspector
    Dim oDoc As Word.Document
    Dim oItem  As Outlook.MailItem

    Set oItem = Outlook.Application.CreateItem(olMailItem)
    oItem.BodyFormat = olFormatRichText 'must set, unless default is rich text

    Set oInspector = oItem.GetInspector
    oInspector.Display 'must display in order for selection to work

    Set oDoc = oInspector.WordEditor

    'better to use word document instead of selection
    'this sample uses selection because word's macro recording using the selection object

    Dim oSelection As Word.Selection
    Set oSelection = oDoc.Application.Selection

    oSelection.TypeText Text:="The task is to apply strikethroughout."
    oSelection.MoveLeft Unit:=wdCharacter, Count:=4
    oSelection.MoveLeft Unit:=wdCharacter, Count:=7, Extend:=wdExtend

    oSelection.Font.Strikethrough = True

End Sub
1
ответ дан 3 December 2019 в 22:37
поделиться
Другие вопросы по тегам:

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