Немного покопавшись, я наконец-то понял! Этот код устанавливает слушателя при запуске приложения, затем любое электронное письмо проверяет где-либо в теме «JIRA», поскольку строка темы всегда статична, меняются только 4 числа. Я разбиваю тему на массив, используя * 1001. *. Затем я запрашиваю массив для нужной мне части темы и использую MID()
, чтобы просто извлечь идентификатор, который мне нужен для URL. Когда URL завершен, я объединяю части URL в одну переменную, которая выводит полный URL, который мне нужно выполнить. Оттуда я запускаю и запускаю браузер, используя CreateObject("Shell.Application")
, и это работает: D! Здесь необходимо упомянуть, что для того, чтобы это работало, сценарий должен быть помещен в ThisOutlookSession
в Microsoft Visual Basic для приложений Project, когда вы нажимаете ALT + F11 в Outlook и после сохранения сценария, вы должны перезапустить Outlook. для его загрузки. Вам также нужно перейти в Центр управления безопасностью, который находится в разделе ФАЙЛ -> Параметры -> Центр управления безопасностью, нажать кнопку Настройки центра управления безопасностью и в этом меню выбрать «Параметры макроса» и установить для параметра «Уведомления для всех макросов» таким образом, чтоуведомить вас о включении макросов при запуске outlook. Цитируемые строки кода: 1. msgbox, который я использовал, чтобы показать мне вывод моих переменных, и 2. в самом конце другие элементы, которые я могу запросить из самого письма. Я оставил их там, чтобы, возможно, помочь другим, если они пытаются запросить другие части входящего письма.
Option Explicit
Private WithEvents inboxItems As Outlook.Items
Private Sub Application_Startup()
Dim outlookApp As Outlook.Application
Dim objectNS As Outlook.NameSpace
Set outlookApp = Outlook.Application
Set objectNS = outlookApp.GetNamespace("MAPI")
Set inboxItems = objectNS.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub inboxItems_ItemAdd(ByVal Item As Object)
On Error GoTo ErrorHandler
Dim Msg As Outlook.MailItem
Dim MessageInfo
Dim Result
Dim vID
Dim vURL1
Dim vURL2
Dim vURL3
Dim fullVID
Dim fullVURL
If TypeName(Item) = "MailItem" And InStr(1, Item.Subject, "JIRA") > 0 Then
Dim s As String: s = Item.Subject
fullVID = Split(s, " ")(2)
vID = Mid(fullVID, 7, 4)
vURL1 = "https://test.tool/gen.php?v="
vURL2 = vID
vURL3 = "&submitV=Submit"
fullVURL = vURL1 & vURL2 & vURL3
MessageInfo = "" & _
"Subject : " & Item.Subject & vbCrLf & _
"Variable 1 : " & Split(s, " ")(0) & vbCrLf & _
"JIRA V : " & vID & vbCrLf & _
"Create V URL : " & fullVURL
'Result = MsgBox(MessageInfo, vbOKOnly, "New JIRA Ticket Received")
Dim build
Set build = CreateObject("Shell.Application")
build.ShellExecute "Chrome.exe", fullVURL, "", "", 1
End If
ExitNewItem:
Exit Sub
ErrorHandler:
MsgBox Err.Number & " - " & Err.Description
Resume ExitNewItem
End Sub
'"Message Body : " & vbCrLf & Item.Body
'"Sender : " & Item.SenderEmailAddress & vbCrLf & _
'"Sent : " & Item.SentOn & vbCrLf & _
'"Received : " & Item.ReceivedTime & vbCrLf & _
'"Size : " & Item.Size