$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
細かすぎて伝わらないAAあるある
Search
IQBocchi
December 27, 2020
Technology
0
970
細かすぎて伝わらないAAあるある
IQBocchi
December 27, 2020
Tweet
Share
More Decks by IQBocchi
See All by IQBocchi
NiFiフローのバージョン管理
iqbocchi
0
210
Other Decks in Technology
See All in Technology
Entity Framework Core におけるIN句クエリ最適化について
htkym
0
120
Agent Skillsがハーネスの垣根を超える日
gotalab555
6
4.3k
2025年のデザインシステムとAI 活用を振り返る
leveragestech
0
230
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
New Relic 1 年生の振り返りと Cloud Cost Intelligence について #NRUG
play_inc
0
230
LayerX QA Night#1
koyaman2
0
260
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
460
AgentCore BrowserとClaude Codeスキルを活用した 『初手AI』を実現する業務自動化AIエージェント基盤
ruzia
7
1.5k
AWS re:Invent 2025~初参加の成果と学び~
kubomasataka
0
190
_第4回__AIxIoTビジネス共創ラボ紹介資料_20251203.pdf
iotcomjpadmin
0
130
AWS運用を効率化する!AWS Organizationsを軸にした一元管理の実践/nikkei-tech-talk-202512
nikkei_engineer_recruiting
0
170
【開発を止めるな】機能追加と並行して進めるアーキテクチャ改善/Keep Shipping: Architecture Improvements Without Pausing Dev
bitkey
PRO
1
130
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
sira's awesome portfolio website redesign presentation
elsirapls
0
89
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.4k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
410
Heart Work Chapter 1 - Part 1
lfama
PRO
3
35k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
190
Claude Code のすすめ
schroneko
66
210k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
89
Transcript
細かすぎて ベンダーも 知らなかった 便利機能& AAあるある オートメーション・エニウェア・ジャパン 佐野千紘 (IQぼっち)
最初に 5分のLTにしては 内容を詰め込みすぎました。 めっちゃダッシュで話しますが ご了承ください。 ※ LT内で紹介するBotの作り方や詳細が 知りたい方は、Twitterでからんでください!
自己紹介 $ 名前 $ 佐野千紘(IQぼっち) $ 出身 $ 山梨県 $
細かすぎて伝わらないモノマネ選手権 っぽく、今日のLTをネタ振り $ オレンジが好きという理由だけで RPAベンダーに就職し、 まもなく1年半が経過するにも関わらず 諸般の事情でBot開発経験をあまり積んで来なかったエンジニアが AAを使って今さら驚いた初心者のような発見 ※ 本日の発表内容は所属企業に関係なく、個人の見解です
作ったBot つぶやきをExcel上で書きためて TweetDeckで一気に予約投稿するBot
こんなBotです 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
最初のネタ 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
① Excelから列名で値を取得 細かすぎて度 : ★★☆☆☆ レコーダーアクションの プロパティ画面 (本文を入力する部分) レコーダーが自動取得した オブジェクトプロパティ
入力内容 Excel上の 列名に合わ せて指定 こういう指定が できることを 知らなかった (・_・;)
① Excelから列名で値を取得 細かすぎて度 : ★★☆☆☆ ベンダーのくせに知らなかった理由 - レコード型(ExcelやCSVの1行をまるっと格納するタイプの変数) の 値取得には2つのモードがある
→ インデックス別 / 名前別 - 以前はインデックス別がデフォルト (今は名前別がデフォルト) - ハンズオンもインデックス別で実施 - インデックス別の指定に慣れすぎて、 名前別の指定について全く調べて いなかった ごめんなさい - 女子部の指摘により初めて調べ、判明 女子部のみなさんありがとう♡ インデックス別の場合 $変数名[インデックス]$ 名前別の場合 $変数名{”列名”}$ 名前別/イン デックス別では、 かっこの形が 変わります
続きまして 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
② 四則演算のやりかた 細かすぎて度 : ★☆☆☆☆ 数字を扱うアクションの一覧 ?! 四則演算が ない・・・ (・_・;)
?! !! 「代入」のアクションの中で 実施するシステム!! このボタンを 押す回数を 求めたい!
② 四則演算のやりかた 細かすぎて度 : ★★★★★ 実は……「文字列変換」の中でも計算できる その後計算に使わない 値を表示/設定する ときには便利かも?
③ 子Botを呼ぶときあるある 細かすぎて度 : ★★★★★ 親Bot → 子Botを呼び出す方法 親Bot 子Bot
入力変数 引数 親からもらいたい値を 入力変数に指定 親に渡したい値を 出力変数に指定 $ディクショナリ名{”子Botの出力変数名”}$ の要領で使用
③ 子Botを呼ぶときあるある 細かすぎて度 : ★★★★★ 細かすぎる話はここからです ここの「説明」って、 入れる意味ある ・・・(・_・;)? 子Botにおける入力変数の編集画面
③ 子Botを呼ぶときあるある 細かすぎて度 : ★★★★★ 意味ありました!!!!!!!!!!!!!!!! 親Botにおける子Bot呼び出しのプロパティ画面 入れておいたコメントが こんなところに (◎ロ◎;)!!
どひゃーっ!と 驚いて ひっくりカエル
続きまして 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
④ プロパティを変数指定して画面操作 細かすぎて度 : ★★★☆☆ 1日をクリックしたときの素の状態 RPAが自動取得&判定子として適切と判断したオブジェクトがまず表示される カレンダーから投稿日の日付をクリックする処理
④ プロパティを変数指定して画面操作 細かすぎて度 : ★★★☆☆ 展開すると、さらに いろんな要素が出てくる この3つの要素は、 1日をクリックした際に 「1」だった。
→ ここが日付を判定 する根拠になるかも? ……と、 まずは仮説 を立てる。
④ プロパティを変数指定して画面操作 1日をクリックしたときの オブジェクト 2日をクリックしたときの オブジェクト 3日をクリックしたときの オブジェクト 細かすぎて度 :
★★★☆☆ 1 1 1 2 2 2 3 3 3 うむ! やはり、 「要素の内容= 日付」という 規則性が 成り立っておる!
④ プロパティを変数指定して画面操作 細かすぎて度 : ★★★☆☆ レコーダーの使いこなし方 - レコーダーが自動認識したオブジェクトの中から、 取得したいボタンや入力欄を安定的に判定できる 要素を特定し選択する(DOMXPathなど)
- オブジェクトプロパティの規則性を見つけ出し、 該当する要素を変数にして対象を取得する Tweetdeckのカレンダーでは、 innerHTML / HTML InnerText / HTML Hrefの最終要素が 必ず日付と一致する → この3つを変数に! 最終的なオブジェクト プロパティの状態
最後のネタ 本文を入力し、「Schedule Tweet」ボタンを押下 【ネタ①】Excelから列名指定で値取得 投稿年月と現在年月の差分から、 カレンダーの「次の月へ」ボタンを必要な回数押下 【ネタ②】四則演算のやりかた 【ネタ③】子Botを呼ぶときあるある 日・時・分の設定 【ネタ④】プロパティを変数指定して画面操作
AM/PMボタンの設定 【ネタ⑤】取得したプロパティの状態に応じて操作
⑤ 取得したプロパティの状態に応じて画面操作 細かすぎて度 : ★★★★☆ AM/PMを指定した状態にする処理 クリックすることによって、 ボタンの状態が切り替わる ボタンの現在の 状態を根拠に、
押すか押さないか を判断する
⑤ 取得したプロパティの状態に応じて画面操作 細かすぎて度 : ★★★★☆ AM/PMを指定した状態にする処理 オブジェクトのプロパティを取得し 変数に格納
⑤ 取得したプロパティの状態に応じて画面操作 細かすぎて度 : ★★★★☆ AM/PMを指定した状態にする処理 ① ボタンの 現在の状態 (さっき取得したプロパティ)
が… ② 投稿したいAM /PMの指定 (Excelの該当列) と…… ③ 違っていたら …… ④ クリック!
最後に 芸人らしい おもしろい つぶやき! - ネタの一部(③)は 先輩SEでも知りませんでした - BotのおかげでIQ ぼっちのツイートは
2021年2月9日分まで予約完了♪ - 同じBotをCommunity Edition (無料)でも作って動かせます - ハンズオンやってほしい人は Twitterでからんでください♪