Last active
March 8, 2024 15:13
-
-
Save damc-dev/7431045c93fcb569140f2d2ef8afd878 to your computer and use it in GitHub Desktop.
Applescript to Retrieve Participants From Zoom MacOS App
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/osascript | |
on convertListToString(theList, theDelimiter) | |
set AppleScript's text item delimiters to theDelimiter | |
set theString to theList as string | |
set AppleScript's text item delimiters to "" | |
return theString | |
end convertListToString | |
on get_participants() | |
set participantList to {} | |
tell application "System Events" | |
set myList to name of windows of process "zoom.us" -- get a list of windows | |
repeat with i from 1 to count of myList | |
if item i of myList contains "Partici" then | |
-- Participants list is popped out | |
set rowList to rows of outline 1 of scroll area 1 of window i of process "zoom.us" | |
repeat with rowItem in rowList | |
set end of participantList to value of UI element 1 of UI element 1 of rowItem | |
end repeat | |
return participantList | |
else if (exists static text 1 of UI element 1 of splitter group 1 of window i of process "zoom.us") and (value of static text 1 of UI element 1 of splitter group 1 of window i of process "zoom.us" contains "Partici") then | |
-- Participants list is merged to meeting window | |
set rowList to rows of outline 1 of scroll area 1 of splitter group 1 of window i of process "zoom.us" | |
repeat with rowItem in rowList | |
set end of participantList to value of UI element 1 of UI element 1 of rowItem | |
end repeat | |
return participantList | |
else | |
-- there is no Participant list, so make one | |
click menu item 1 of menu "View" of menu bar 1 of process "zoom.us" | |
-- is the created Participant list is merged in the meeting window or popped out? | |
if exists splitter group 1 of window i of process "zoom.us" then | |
set rowList to rows of outline 1 of scroll area 1 of splitter group 1 of window i of process "zoom.us" | |
repeat with rowItem in rowList | |
set end of participantList to value of UI element 1 of UI element 1 of rowItem | |
end repeat | |
return participantList | |
else | |
set rowList to rows of outline 1 of scroll area 1 of window i of process "zoom.us" | |
repeat with rowItem in rowList | |
set end of participantList to value of UI element 1 of UI element 1 of rowItem | |
end repeat | |
return participantList | |
end if | |
end if | |
end repeat | |
end tell | |
end get_participants | |
convertListToString(get_participants(), "\n") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Excellent! Thank you