Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
マンション理事長、動く!
Search
HANACCHI
November 30, 2023
Technology
0
97
マンション理事長、動く!
PDFからのデータを、うまい事EXCELに展開したい!
面倒な構文解析もしたくない!
って時に読んでください。
HANACCHI
November 30, 2023
Tweet
Share
More Decks by HANACCHI
See All by HANACCHI
PowerAutomatefordesktopでの開発シーンで
hanacchi
0
8
ChatGPTにテストデータを作ってもらう
hanacchi
0
160
AI JIMYで数独
hanacchi
0
41
メール本文をどうやっつけるか
hanacchi
0
330
2024年のローコード界隈最新事情~業務担当者でもAI・生成AIを活用できる!~
hanacchi
0
440
AI JIMY - 登壇(インストール編)
hanacchi
0
500
AI JIMY - 登壇(設定編)
hanacchi
0
460
AI JIMY - 登壇(実行編)
hanacchi
0
430
パスワードを保存しますか?
hanacchi
0
460
Other Decks in Technology
See All in Technology
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
製造業から学んだ「本質を守り現場に合わせるアジャイル実践」
kamitokusari
0
240
人工知能のための哲学塾 ニューロフィロソフィ篇 第零夜 「ニューロフィロソフィとは何か?」
miyayou
0
340
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.4k
#22 CA × atmaCup 3rd 1st Place Solution
yumizu
1
120
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
SES向け、生成AI時代におけるエンジニアリングとセキュリティ
longbowxxx
0
290
「リリースファースト」の実感を届けるには 〜停滞するチームに変化を起こすアプローチ〜 #RSGT2026
kintotechdev
0
510
モノタロウ x クリエーションラインで実現する チームトポロジーにおける プラットフォームチーム・ ストリームアラインドチームの 効果的なコラボレーション
creationline
0
350
AWSと生成AIで学ぶ!実行計画の読み解き方とSQLチューニングの実践
yakumo
2
170
戰略轉變:從建構 AI 代理人到發展可擴展的技能生態系統
appleboy
0
180
複雑さを受け入れるか、拒むか? - 事業成長とともに育ったモノリスを前に私が考えたこと #RSGT2026
murabayashi
1
1.1k
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
7.8k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.8k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
360
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
150
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Designing Powerful Visuals for Engaging Learning
tmiket
0
190
The Art of Programming - Codeland 2020
erikaheidi
56
14k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
93
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
280
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
110
sira's awesome portfolio website redesign presentation
elsirapls
0
110
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
140
Transcript
マンション理事長、動く!
はなっち!とは… Twitter:hjmkzk Qiita:@HANACCHI FaceBook:hajime.kozaki 2019年10月 UiPath
Japan MVP 2019 認定 ~~~~~~ 2022年10月 UiPath Japan MVP 2022 認定 2023年10月 UiPath Japan MVP 2023 ならず! 2024年7月 UiPath Japan MVPには立ちません 1998年8月 弊マンション竣工 1998年10月 はなっち!入居! 2020年7月 はなっち!完済! 2023年4月 10回目位の理事長!
最近の弊マンション 川崎市中原区に在るこの全29戸マンションは、 東急東横線・目黒線の元住吉駅から徒歩21分、 または同駅よりバス約6分の長寿荘入口バス停下車 徒歩3分です。 管理会社は、社名は変わりましたが、竣工時から一社。 フロントさんも、3名。管理人さんは4代目。
4代目の管理人さんが66歳と言う高齢で、がん治療にも通っ ているのですが、本人は継続を希望している…
最近の管理人さん 保管資料の扱いが雑! ✓ ガイド付きの穴あけ器を使っても… ✓ 報告書が他の箱ファイルに 収納されている… ✓ 報告書が数年に
亘って無い!
最近の問題点 大規模修繕工事 直結増圧式給水化 エレベータ架け替え ➢ エレベータ利用状況を報告書(紙)からEXCELに転記し、調査 ➢
欠損年月分は、エレベータ保守会社からPDFファイルを受領 ➢ その際、Webで情報が得られることを知る! ➢ そこには欠損年月分以外の報告書のPDFファイルが! よし!UiPath Community Editionだ!
PDFから欲しい情報 ... 25項目
PDFアクティビティで、Stringへ エレベーター遠隔点検
Stringから、必要な情報を! エレベーター遠隔点検.Replace(ControlChars.Cr, String.Empty).Split(ControlChars.Lf) currentItem.Contains("制御盤内機器作動状態") currentItem.Substring( currentItem.IndexOf("制御盤内機器作動状態") +“制御盤内機器作動状態”.Length+1, 1) 25項目中の1つの項目 を抽出するのに、24項
目の空振りが発生!
Stringから、必要な情報を! (ほぼ)ダイレクトに取得できないか? エレベーター遠隔点検 .Replace(ControlChars.Cr,String.Empty) .Replace(ControlChars.Lf, " ") 改行で配列ではなく、水平展開!?
Stringから、必要な情報を! 配列にせず、平文から取得できないか? エレベーター遠隔点検 .replace("制御盤内機器作動状態", ControlChars.tab) .split(ControlChars.Tab) エレベーター遠隔点検s(1).TrimStart & " "
制御盤内機器作動状態 .Substring(0, 制御盤内機器作動状態.IndexOf(" "))
もうちょっと見やすく(項目Bの値Bを取ってみる) 平 文 項目A_値A_項目B_値B_項目C_値C 平文配列 ← 平文.replace(“項目B", ControlChars.tab).split(ControlChars.Tab) 値 ←
平文配列(1).TrimStart & " " 値 ← 値.Substring(0, 値.IndexOf(" ")) 項目A_値A_<TAB>_値B_項目C_値C 項目A_値A_ _値B_項目C_値C 値B_項目C_値C 値B_項目C_値C_ 値B_項目C_値C_
こうすることで 「取得項目」の右側の値をダイレクトに取得でき、 配列(1)の処理に注力できる! スニペット、共通部品化をすることで、プロジェクト内部での 処理の共通化が図れ、生産性があがる!? 「取得項目」の左側の値を取得する場合は、 配列(0)の値を更に.splitする事で、対応の可能性がある!
ところで最近気が付いたこと その1 StringのTrimメソッドは、そのまま使うと、空白以外の文字も トリムしてしまう。
ところで最近気が付いたこと その2 配列中の空白値は、ForEachアクティビティだけで除去できる Ex)"A,,B,,,".Split(","c).Where(Function(v) v <> String.Empty)
一生UiPathします How Do You Like "UiPath"?