Macro to extract and modify links from emails

Status
Not open for further replies.

schwarznavy

Senior Member
Outlook version
Outlook 2010 32 bit
Email Account
Exchange Server
Good morning,

When coworkers create Skype for Business meetings in Outlook, the invitation includes a Skype Meeting link. I'm assuming that the recipient's Outlook client reads this link and therefore enables a "Join Meeting" button in numerous places (the ribbon, when right-clicking the meeting, the reminder window, etc).

Issue: When coworkers use a Virtual Meeting Room instead of a Skype meeting, the invitation includes a different kind of link (###-####@work.domain). Outlook clients don't read this at all. No "Join Meeting" buttons are activated. Clicking the link in the email opens up a new email to that address. To join via video, I need to dial #######@work.domain (remove the hyphen) in Skype and then join video.

Solution: I'm thinking a good solution would be to create a macro that can read any ###-####@work.domain links in emails. Then, it would convert that link to whatever is the appropriate URL to tell Skype to make a video call to the correct address. My guess is it is something like: sip:<#######@work.domain>.

Any other suggested paths?

Any tips or pointers for me to get started?
 
Good morning,

When coworkers create Skype for Business meetings in Outlook, the invitation includes a Skype Meeting link. I'm assuming that the recipient's Outlook client reads this link and therefore enables a "Join Meeting" button in numerous places (the ribbon, when right-clicking the meeting, the reminder window, etc).

Issue: When coworkers use a Virtual Meeting Room instead of a Skype meeting, the invitation includes a different kind of link (###-####@work.domain). Outlook clients don't read this at all. No "Join Meeting" buttons are activated. Clicking the link in the email opens up a new email to that address. To join via video, I need to dial #######@work.domain (remove the hyphen) in Skype and then join video.

Solution: I'm thinking a good solution would be to create a macro that can read any ###-####@work.domain links in emails. Then, it would convert that link to whatever is the appropriate URL to tell Skype to make a video call to the correct address. My guess is it is something like: sip:<#######@work.domain>.

Any other suggested paths?

Any tips or pointers for me to get started?
I do something very similar - but in appointments (not e-mail) - for zoom. For me, it is triggered with any appointment that contains a zoom link (with a reminder 15 minutes before and a pop-up request to join 2 minutes before the meeting). Feel free to play around the code to work for new e-mails / skype:

Public WithEvents oReminders As Outlook.Reminders
Public sDismissSubject As String

Private Sub Application_Reminder(ByVal objItem As Object)
Dim objWordHyperlinks As Word.Hyperlinks
Dim objWordHyperlink As Word.Hyperlink

Dim iTimeDiff As Integer

Set oReminders = Outlook.Reminders

If objItem.MessageClass <> "IPM.Appointment" Then Exit Sub

On Error Resume Next
If funcIsZoomAppt(objItem) Then
iTimeDiff = (objItem.Start - VBA.Now) * 24 * 60

If iTimeDiff <= 2 And iTimeDiff >= 0 Then
Set objWordHyperlinks = objItem.GetInspector.WordEditor.Hyperlinks

For Each objWordHyperlink In objWordHyperlinks
If VBA.InStr(1, objWordHyperlink.Address, "zoom.us/", vbTextCompare) Then
If VBA.MsgBox("Zoom appointment (" & objItem.Subject & ") in " & iTimeDiff & " minutes. Do you want to join?", vbYesNo + vbDefaultButton1, "Reminder") = vbYes Then
Call VBA.Shell("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe " & objWordHyperlink.Address)
sDismissSubject = objItem.Subject
objItem.ReminderSet = False
objItem.Save
End If

Exit For
End If
Next objWordHyperlink

Set objWordHyperlink = Nothing
Set objWordHyperlinks = Nothing

ElseIf iTimeDiff > 2 Then
sDismissSubject = objItem.Subject

Call VBA.MsgBox("Zoom appointment (" & objItem.Subject & ") in " & iTimeDiff & " minutes.", vbOKOnly, "Reminder")

objItem.ReminderSet = True
objItem.ReminderMinutesBeforeStart = 2
objItem.Save
End If
End If
End Sub

Function funcIsZoomAppt(objItem As Outlook.AppointmentItem) As Boolean
Dim objWordHyperlinks As Word.Hyperlinks
Dim objWordHyperlink As Word.Hyperlink

funcIsZoomAppt = False
If VBA.Left(objItem.Location, VBA.Len("https://[Redacted].zoom.us/j/")) = "https://[Redacted].zoom.us/j/" Then
funcIsZoomAppt = True
Else
Set objWordHyperlinks = objItem.GetInspector.WordEditor.Hyperlinks

For Each objWordHyperlink In objWordHyperlinks
If VBA.InStr(1, objWordHyperlink.Address, "zoom.us/", vbTextCompare) And objItem.Subject <> "" Then
funcIsZoomAppt = True
Exit For
End If
Next objWordHyperlink

Set objWordHyperlink = Nothing
Set objWordHyperlinks = Nothing
End If
End Function
 
Hello Sentinels,

Just getting around to trying this out. Did you possibly leave something out?

I'm getting en error with that says "User-defined type not defined." The Visual Basic editors then pops up. "Private Sub Application_Reminder(ByVal objItem As Object)" is highlighted yellow, and "objWordHyperlinks As Word.Hyperlinks" is selected.

I will try to tinker with it.
 
this can be quite handy, to filter out unnecessary links, especially in large group chats. I have found this link for something similar
 
Status
Not open for further replies.
Similar threads
Thread starter Title Forum Replies Date
S Macro to extract email addresses of recipients in current drafted email and put into clipboard Outlook VBA and Custom Forms 2
C Macro to extract sender name & subject line of incoming emails to single txt file Outlook VBA and Custom Forms 3
J Outlook 2013 Extract Flag Completed dates to Excel Macro Outlook VBA and Custom Forms 16
N Macro in this Project are disabled Outlook VBA and Custom Forms 2
M Outlook 365 Amending code so macro runs within current new mail window Outlook VBA and Custom Forms 0
M Outlook 365 macro - automatically attach file based on subject line Outlook VBA and Custom Forms 0
J Outlook macro to run before email is being send Outlook VBA and Custom Forms 3
H Macro to Delete Duplicate items in Outlook calendar where title is the same and date is the same Outlook VBA and Custom Forms 0
X Custom icon (not from Office 365) for a macro in Outlook Outlook VBA and Custom Forms 1
X Run macro automatically when a mail appears in the sent folder Using Outlook 5
mrrobski68 Issue with Find messages in a conversation macro Outlook VBA and Custom Forms 1
G Creating Macro to scrape emails from calendar invite body Outlook VBA and Custom Forms 6
M Use Macro to change account settings Outlook VBA and Custom Forms 0
J Macro to Reply to Emails w/ Template Outlook VBA and Custom Forms 3
C Outlook - Macro to block senders domain - Macro Fix Outlook VBA and Custom Forms 1
Witzker Outlook 2019 Macro to seach in all contact Folders for marked Email Adress Outlook VBA and Custom Forms 0
S macro error 4605 Outlook VBA and Custom Forms 0
A Macro Mail Alert Using Outlook 4
J Outlook 365 Outlook Macro to Sort emails by column "Received" to view the latest email received Outlook VBA and Custom Forms 0
J Macro to send email as alias Outlook VBA and Custom Forms 0
M Outlook Macro to save as Email with a file name format : Date_Timestamp_Sender initial_Email subject Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro GoTo user defined search folder Outlook VBA and Custom Forms 6
D Outlook 2016 Creating an outlook Macro to select and approve Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro to send an Email Template from User Defined Contact Form Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro to check Cursor & Focus position Outlook VBA and Custom Forms 8
V Macro to mark email with a Category Outlook VBA and Custom Forms 4
M Outlook 2019 Macro not working Outlook VBA and Custom Forms 0
S Outlook 365 Help me create a Macro to make some received emails into tasks? Outlook VBA and Custom Forms 1
D Auto Remove [EXTERNAL] from subject - Issue with Macro Using Outlook 21
V Macro to count flagged messages? Using Outlook 2
sophievldn Looking for a macro that moves completed items from subfolders to other subfolder Outlook VBA and Custom Forms 7
S Outlook Macro for [Date][Subject] Using Outlook 1
E Outlook - Macro - send list of Tasks which are not finished Outlook VBA and Custom Forms 3
E Macro to block senders domain Outlook VBA and Custom Forms 1
D VBA Macro to Print and Save email to network location Outlook VBA and Custom Forms 1
N VBA Macro To Save Emails Outlook VBA and Custom Forms 1
N Line to move origEmail to subfolder within a reply macro Outlook VBA and Custom Forms 0
Witzker Outlook 2019 Macro to answer a mail with attachments Outlook VBA and Custom Forms 2
A Outlook 2016 Macro to Reply, ReplyAll, or Forward(but with composing new email) Outlook VBA and Custom Forms 0
J Macro to Insert a Calendar Outlook VBA and Custom Forms 8
W Macro to Filter Based on Latest Email Outlook VBA and Custom Forms 6
T Macro to move reply and original message to folder Outlook VBA and Custom Forms 6
D Autosort macro for items in a view Outlook VBA and Custom Forms 2
S HTML to Plain Text Macro - Help Outlook VBA and Custom Forms 1
A Macro to file emails into subfolder based on subject line Outlook VBA and Custom Forms 1
N Help creating a VBA macro with conditional formatting to change the font color of all external emails to red Outlook VBA and Custom Forms 5
S Visual indicator of a certain property or to show a macro toggle Outlook VBA and Custom Forms 2
L Modifying VBA script to delay running macro Outlook VBA and Custom Forms 3
M Replyall macro with template and auto insert receptens Outlook VBA and Custom Forms 1
L Macro to add Date & Time etc to "drag to save" e-mails Outlook VBA and Custom Forms 17

Similar threads

Back
Top