Main window
・menu bar 1 → 上部メニュー
├・menu bar item "apple" → 左上の🍎マーク
├・menu bar item "zoom.us" → その隣,zoom.us
├・menu bar item "編集" → 〃
├・menu bar item "ウィンドウ" → 〃
└・menu bar item "ヘルプ" → 〃
・menu bar 2 → 上部メニュー右のZoomロゴ
└・{} → 空配列 (クリック時に中身が変わりそう)
・UI element 3
├・button 1 → 新規ミーティングボタン
├・button 2 → 参加ボタン
├・button 3 → スケジュールボタン
├・button 4 → 画面共有ボタン
└・button 5 → 設定ボタン
MTG window [Host]
※ 画面幅によってbuttonの番号は変動する
・window "Zoom ミーティング" : 下部メニュー表示時
├・button 1 → 音声ミュートボタン
├・button 2 → 音声ミュートボタン右上 ^
├・button 3 → ビデオミュートボタン
├・button 4 → ビデオミュートボタン右上 ^
├・button 5 → > ミーティング終了ボタン
├・button 6 ~ (max:20) → ビデオミュートボタンの隣,連番
├・button 21 or less → 画面左上 セキュリティマーク
├・button 22 or less → 画面右上 表示ボタン
├・button 23 or less → ウィンドウの閉じるボタン
├・button 24 or less → ウィンドウの最大化ボタン
├・button 25 or less → ウィンドウの最小化ボタン
└・tab group 1
├・image 1
├・image 2
└・static text "{name}" → Zoom参加者の名前
・window "Zoom ミーティング" : 下部メニュー非表示時
├・button 1 → ウィンドウの閉じるボタン
├・button 2 → ウィンドウの最大化ボタン
├・button 3 → ウィンドウの最小化ボタン
├・static text "Zoom ミーティング"
└・tab group 1
├・image 1
├・image 2
└・static text "{name}" → Zoom参加者の名前
MTG window [Guest]
会議に参加している側の画面のこと。
全てHostと同じ。
button 1 ~ 4は下部バーに常時表示されている音声/ビデオミュートボタン,button5はミーティング終了ボタンになっており,その後は左側から連番が振られ,セキュリティマークと表示ボタンがあり,ウィンドウの閉じるボタンなどが並ぶ。
Apple scriptからMTG中の画面を操作する際の注意事項
-
Guest側はMTG windowを選択中と非アクティブ時でウィンドウタイトルが変わることがあるため,
tell window "Zoom ミーティング"
をする時に気を付ける -
Guest側のMTG window非アクティブのタイトルは"Zoom ミーティング 40分"等と表示されるが,この"ミーティング"と"40分"の間の空白は半角スペース3つ分だったりする
-
音声/ビデオミュート,ミーティング退出以外のボタンは画面幅によって番号が変わる可能性がある
結局Apple scriptからZoomに参加するだけならブラウザ経由が楽
一応,以下のスクリプトのようにzoom.usを起こしてショートカットキー入力によってミーティングに参加したり,上記のボタン番号を使ってclick button 2
のようにミーティングに参加したりすることはできるが,自分の環境では同じコードでもうまく動いてくれる時とうまく動いてくれない時があった。
on joinMeeting()
tell application "System Events"
key code {55, 38}
delay 2
keystroke "{ROOM_ID}"
delay 0.5
key code 76
delay 2
keystroke "{PASSCODE}"
delay 0.5
key code 76
end tell
end joinMeeting
tell application "zoom.us"
activate
tell application "System Events"
tell process "zoom.us"
delay 5
my joinMeeting()
end tell
end tell
end tell
そのため,Apple scriptを用いてZoomミーティングに自動参加するのであればこちらの方のようにブラウザ経由で参加する方が楽であった。
ただ,上記のUI構成により,以下のように自動でチャットを送る機能などを組める。
tell application "zoom.us"
tell application "System Events"
tell process "zoom.us"
tell window 0
click button 9
delay 0.5
keystroke "Test"
key code 76
end tell
end tell
end tell
end tell
あとはmacOS標準搭載のAutomatorを用いて,ミーティング参加用スクリプトとチャット送信用スクリプトを制御してやればPCに触れることなくZoomミーティングに参加することができる。
参考文献