1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Apple scriptでZoomミーティングに自動参加する - ZoomのGUI構成 -

Posted at

Main window

Zoomが起動した時に出てくるあの画面のこと。
スクリーンショット 2023-05-24 14.40.57.png

・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]

会議中の画面のこと。
スクリーンショット 2023-05-24 14.55.39.png

※ 画面幅によって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つ分だったりする

  • 音声/ビデオミュート,ミーティング退出以外のボタンは画面幅によって番号が変わる可能性がある

  • ↓ 設定から画面下部メニューの常時表示を推奨
    スクリーンショット 2023-05-24 16.16.53.png

結局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ミーティングに参加することができる。

参考文献

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?