Не потрудитесь делать это.
Вместо этого используют Пул потоков . Пул потоков является механизмом (на самом деле класс) платформы, которую можно запросить для нового потока.
, Когда Вы просите новый поток, чтобы он или дал Вам новый или ставил в очередь работу, пока поток не освобожден. Таким образом платформа является главной при решении, должно ли это создать больше потоков или не в зависимости от количества существующих центральных процессоров.
Редактирование: Кроме того, как это было уже упомянуто, ОС отвечает за распределение потоков среди различных центральных процессоров.
Вот несколько примечаний о том, как возиться с открытым сообщением, здесь нет проверок, он просто предполагает, что у вас есть открытое почтовое сообщение. Если вы хотите рассказать немного больше о том, что вы хотите сделать и в какой версии, я могу помочь немного больше.
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
Это предполагает, что на вашем ящике также установлена программа 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
Вам необходимо получить доступ к 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