243.5K Views
May 05, 22
スライド概要
「Microsoft 365 Virtual Marathon 2022 Japanese Track」(Office スクリプトセッション)の登壇資料です。
(2022年5月5日オンライン開催)
MICROSOFT 365 VIRTUAL MARATHON 2022 MAY, 4 – 6, 2022 きぬあさ @kinuasa VBA開発者のための Office スクリプト入門
MICROSOFT 365 VIRTUAL MARATHON 2022 SPONSORS M365VIRTUALMARATHON.COM #M365VM
きぬあさ / @kinuasa Microsoft MVP Microsoft MVP for Office System July 2010 - June 2015 Microsoft MVP for Outlook July 2015 - June 2016 Microsoft MVP for Office Development July 2016 - ▪ 中小企業の総務の中の情シス ▪ ブログでVBAやOffice スクリプトなどの情報を発信 初心者備忘録: https://www.ka-net.org/blog/ ▪ Power Automate勉強中 ▪ 日曜日の楽しみは「ドンブラザーズ」 M365VIRTUALMARATHON.COM #M365VM
本セッションの目的・注意事項 ▪ 目的: “Office スクリプト”のことを知ってもらう。 ▪ 注意事項: 本日の資料は後程アップする予定です。 本セッションで取り扱う主なOffice アプリケーションはExcelです。 本セッションは2022年5月時点の情報を元にしています。今後のアップ デート等で仕様が変更される可能性があります。 M365VIRTUALMARATHON.COM #M365VM
AGENDA ▪ Office スクリプトの概要、および開発環境 ▪ Office スクリプトでできることとできないこと ▪ Office スクリプトとPower Automateの連携 ▪ Microsoft 365 開発者プログラムの紹介 ▪ まとめ M365VIRTUALMARATHON.COM #M365VM
Office スクリプトの概要、および開発環境
Microsoft Officeの開発手法 ▪ VBA 本日取り扱う内容 ▪ VSTO / COM アドイン ▪ Office アドイン ▪ Office スクリプト(英語表記:Office Scripts) ▪ その他 Microsoft Graph Open XML (Open XML SDK, ClosedXML, EPPlus, openpyxl) XLLアドイン M365VIRTUALMARATHON.COM #M365VM
Office スクリプトとは(1) ▪ Web版のExcel(Excel on the web)での処理をスクリプトで自動化する機能 ▪ 2021年5月に一般公開(GA) ▪ 「自動化」タブから「マクロの記録」のように操作を記録・再生可能 ▪ スクリプト言語:TypeScript, JavaScript M365VIRTUALMARATHON.COM #M365VM
【比較】Google スプレッドシートの「マクロを記録」機能 M365VIRTUALMARATHON.COM #M365VM
Office スクリプトとは(2) ▪ Web版のOfficeをサポートするすべてのブラウザーで動作 Internet Explorer11はサポート対象外 https://support.microsoft.com/ja-jp/office/ad1303e0-a318-47aa-b409-d3a5eb44e452 ▪ サードパーティCookie Web版のExcelで「自動化」タブを表示するため、サードパーティCookieを有効にする必要 がある。 ▪ その他制限事項 https://docs.microsoft.com/ja-jp/office/dev/scripts/testing/platform-limits M365VIRTUALMARATHON.COM #M365VM
Office スクリプトが利用可能なプラン ▪ Microsoft 365 Business Standard ▪ Microsoft 365 Apps for business ▪ Microsoft 365 Apps for enterprise 商用、または教育機関向けの ライセンスが必要 ▪ Office 365 E3 ▪ Office 365 E5 ▪ Office 365 A3 ▪ Office 365 A5 https://docs.microsoft.com/ja-jp/microsoft-365/admin/manage/manage-office-scripts-settings?WT.mc_id=M365-MVP4029057&view=o365-worldwide#before-you-begin より M365VIRTUALMARATHON.COM #M365VM
Office スクリプトの位置づけ ▪ エンドユーザー向け デスクトップ→VBA Web版のOffice→Office スクリプト ▪ より高度な処理を行いたい場合は 「Office アドイン」(Office Web Add-ins) https://docs.microsoft.com/ja-jp/office/dev/scripts/resources/vbadifferences?WT.mc_id=M365-MVP-4029057 より M365VIRTUALMARATHON.COM #M365VM
Office アドインとは(1) ▪ Office上で動作するWebアプリケーション 例:翻訳、ウィキペディア、Office スクリプトのエディター ▪ Office 2013で追加された機能、旧名称:Office 用アプリ(apps for Office) ▪ クロスプラットフォーム ▪ Word、Excel、PowerPoint、Outlook 他対応 ▪ Office スクリプトの兄貴分 M365VIRTUALMARATHON.COM #M365VM
Office アドインとは(2) ▪ 自習書:https://github.com/kinuasa/OfficeAddInsHandsOn ▪ Microsoft Learn アドインを使用した Office クライアントのカスタマイズの概要 Office アドインで Office クライアントを拡張する Excel 用 Office アドインを作成する Word 用 Office アドインの構築 Outlook 用 Office アドインの構築 M365VIRTUALMARATHON.COM #M365VM
Napa(オンラインOffice アドイン開発ツール) ※現在は廃止 M365VIRTUALMARATHON.COM #M365VM
Office スクリプトの開発環境 ▪ 作業ウィンドウのコード エディター ※ブラウザー上で開発 ▪ コード エディターの機能 インテリセンス ミニマップ コードの折りたたみ テーマ設定 サンプルコード ▪ ▪ ▪ ▪ ×ブレークポイント → console.log デバッグ スクリプトの共有 フローを作成 追加ボタン(スクリプト ボタン) M365VIRTUALMARATHON.COM #M365VM
インテリセンス M365VIRTUALMARATHON.COM #M365VM
ミニマップ M365VIRTUALMARATHON.COM #M365VM
コードの折りたたみ M365VIRTUALMARATHON.COM #M365VM
テーマ設定 Office 濃色 淡色 ハイ コントラスト M365VIRTUALMARATHON.COM #M365VM
サンプルコード M365VIRTUALMARATHON.COM #M365VM
×ブレークポイント → console.log デバッグ https://docs.microsoft.com/en-us/office/dev/scripts/testing/troubleshooting?WT.mc_id=M365-MVP4029057#console-logs より M365VIRTUALMARATHON.COM #M365VM
スクリプトの共有(1) M365VIRTUALMARATHON.COM #M365VM
スクリプトの共有(2) ※スクリプトは「osts」ファイルとして作成者のOneDriveフォルダー上に保存 M365VIRTUALMARATHON.COM #M365VM
スクリプトの共有(3) この便利なスクリプト、 皆にも使ってもらいたいなー! 太郎さん M365VIRTUALMARATHON.COM #M365VM
スクリプトの共有(4) 「作業中のブック」から太郎さんが 作ったスクリプトが実行できたわ! スクリプトがあるのは 太郎さんのOneDrive M365VIRTUALMARATHON.COM 花子さん #M365VM
SharePointサイトでスクリプトを保存・共有できるようになる(予定) Office スクリプトはWeb版のExcel自動化機能のセットです。 この新機能により、ユーザーはスクリプトをSharePointサイトに保存し、 チームメンバーがより簡単にExcelワークブック上でコラボレーション、 閲覧、およびチーム所有のスクリプトを実行できるようになります。 https://www.microsoft.com/ja-jp/microsoft-365/roadmap?featureid=93767 より M365VIRTUALMARATHON.COM #M365VM
スクリプトの共有(5) ▪ 共有したスクリプトはブックへの書き込み権限があるユーザーが実行可能。 ▪ スクリプトは組織内でのみ共有可能、外部ユーザーと共有することはできない。 ▪ 参考:Web Officeでの Excel スクリプトの共有(Sharing Office Scripts in Excel for the Web) https://support.microsoft.com/ja-jp/office/226eddbc-3a44-4540-acfe- fccda3d1122b?WT.mc_id=M365-MVP-4029057 M365VIRTUALMARATHON.COM #M365VM
ostsファイル M365VIRTUALMARATHON.COM #M365VM
Office スクリプトの特徴 ▪ プログラムとブックが分離されている。 ▪ スクリプトのバージョン管理はOneDriveにお任せ! MyBook_20220505_最新版.xlsm MyBook_20220505_最新版- コピー.xlsm MyBook_20220505_最新版- コピー - コピー.xlsm M365VIRTUALMARATHON.COM #M365VM
フローを作成 Power Automateテンプレート M365VIRTUALMARATHON.COM #M365VM
追加ボタン(スクリプト ボタン)(1) ※シート上にボタンが追加され、 ボタンをクリックするとスクリプトが実行される。 M365VIRTUALMARATHON.COM #M365VM
【比較】Google スプレッドシートの「スクリプトを割り当て」機能 M365VIRTUALMARATHON.COM #M365VM
追加ボタン(スクリプト ボタン)(2) ※ボタンイメージは変更可能 M365VIRTUALMARATHON.COM #M365VM
追加ボタン(スクリプト ボタン)(3) ※Windows版Excelでも実行可能 M365VIRTUALMARATHON.COM #M365VM
Office スクリプトで できることとできないこと
Office スクリプトでできること(一例) ▪ セルの読み書き、書式設定 ▪ シートの追加・削除 ▪ グラフの追加・削除 ▪ テーブルの追加・削除 ▪ ピボットテーブルの追加・削除 ▪ コメントの追加・削除 ▪ 図形の追加・削除 ▪ 画像の追加・削除 M365VIRTUALMARATHON.COM #M365VM
MICROSOFT 365 VIRTUAL MARATHON 2022 DEMO MAY, 4. – 6. 2022
Office スクリプトでできないこと(一例) ▪ ブックを開いたり閉じたりできない。 ▪ イベント非サポート ▪ 他アプリケーションのオートメーション不可 ▪ Windows API非サポート いろいろ制限あるなぁー・・・ M365VIRTUALMARATHON.COM #M365VM
Office スクリプトとPower Automateの連携
Power Automateとは ▪ 様々なアプリやサービスを連携可能なワークフロー自動化サービス ▪ クラウド側のサービス連携(DPA)とデスクトップアプリケーションの自動化(RPA) ▪ コネクタ:Power Automate上でサービス連携を行うための部品 ▪ トリガー:処理を開始するための条件を定義するもの 例:メールを受信したとき、OneDriveにファイルがアップされたとき ▪ アクション:コネクタが提供する、サービスを呼び出す処理 例:メールを送信する、OneDrive上にファイルを作成する Excel Online (Business) コネクタにはOffice スクリプトを実行する ためのアクションも用意されています。 M365VIRTUALMARATHON.COM #M365VM
Excel Online (Business) コネクタ(1) M365VIRTUALMARATHON.COM #M365VM
Excel Online (Business) コネクタ(2) M365VIRTUALMARATHON.COM #M365VM
Excel Online (Business) コネクタ(3) ▪ 「スクリプトの実行」アクションによって、スクリプトの処理をPower Automate のフローに組み込むことができる。 ▪ スクリプトにパラメーターを渡すことも、スクリプトから値を返すこともできる。 M365VIRTUALMARATHON.COM #M365VM
Office スクリプトを使用するフローのテンプレート M365VIRTUALMARATHON.COM #M365VM
MICROSOFT 365 VIRTUAL MARATHON 2022 DEMO MAY, 4. – 6. 2022
Office スクリプト&Power Automateが便利なのは分かったけれど… 会社で365を使っているけれどOffice スクリプトは無効化されている… M365VIRTUALMARATHON.COM 365のライセンスが無い #M365VM
Microsoft 365 開発者プログラムの紹介
Microsoft 365 開発者プログラムとは ▪ Microsoft 365開発者向けに用意されたプログラム ▪ 開発者用のMicrosoft 365 E5サブスクリプション(25ユーザーライセンス)を無料で取得可能 ▪ 90日間の有効期限があり“有効な開発者の活動が継続する限り”、無期限で更新される。 ▪ 独自のアルゴリズムによって、開発者として活動しているかどうかを定期的にチェックされる。 ▪ 参考:https://docs.microsoft.com/ja-jp/office/developer-program/microsoft-365-developerprogram-faq?WT.mc_id=M365-MVP-4029057 M365VIRTUALMARATHON.COM #M365VM
Microsoft 365 開発者プログラムの参加に必要なもの ▪ 個人用に作成されたMicrosoft アカウント、もしくは職場用のアカウント アカウントの種類については「Microsoft 365 開発者プログラムにサインアップするには、 どのアカウントを使用できますか?」参考 Microsoft アカウントを所持していない場合は「新しい Microsoft アカウントを作成する 方法」を参考に新規取得 ▪ SMS(ショートメッセージサービス / ショートメール)を受信するための携帯 電話番号 M365VIRTUALMARATHON.COM #M365VM
Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(1) 1. Microsoft 365 開発者プログラムのサイト( https://developer.microsoft.com/ja-jp/microsoft-365/devprogram )を開き、「今すぐ参加」ボタンをクリックします。 M365VIRTUALMARATHON.COM #M365VM
Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(2) 2. Microsoft アカウント、もしくは職場用のアカウントでサインインします。 M365VIRTUALMARATHON.COM #M365VM
Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(3) 3. 「国/地域設定」、「会社名」、「言語設定」を入力し、契約条件に問題がない場合は同意のチェックを 入れ、「次へ」ボタンをクリックします。 M365VIRTUALMARATHON.COM #M365VM
Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(4) 4. 開発者としての目的を選択し、「次へ」ボタンをクリックします。 M365VIRTUALMARATHON.COM #M365VM
Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(5) 5. 関心のある開発分野を選択し、「保存」ボタンをクリックします。 M365VIRTUALMARATHON.COM #M365VM
Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(6) 6. Microsoft 365 E5 サンドボックスのセットアップ画面が表示されるので「構成可能なサンドボックス」を 選択し、「次へ」ボタンをクリックします。 M365VIRTUALMARATHON.COM #M365VM
Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(7) 7. 「国/地域設定」、「ユーザー名」、「ドメイン」、「パスワード」を設定後、「続行」ボタンを クリックします。 M365VIRTUALMARATHON.COM #M365VM
Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(8) 8. ID確認用のコードをSMSで受信するため、SMSが利用可能な携帯電話番号を入力し、「コードの送信」 ボタンをクリックします。 M365VIRTUALMARATHON.COM #M365VM
Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(9) 9. SMSで送られてきたコードを入力し、「設定」ボタンをクリックします。 M365VIRTUALMARATHON.COM #M365VM
Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(10) 10. セットアップが完了するまで1、2分待ちます。 M365VIRTUALMARATHON.COM #M365VM
Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(11) 11. Microsoft 365 開発者サブスクリプションが画面に表示されればセットアップ完了です。 M365VIRTUALMARATHON.COM #M365VM
Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(12) 12. 「サブスクリプションに移動する」、もしくはサインイン画面( https://www.office.com/login )からセットアップした アカウントでサインインすると、Microsoft 365のサービスが利用できるようになっていることが確認できます。 M365VIRTUALMARATHON.COM #M365VM
Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(13) 13. Microsoft 365 管理センター( https://admin.microsoft.com/ )からライセンス情報を見ると、「Microsoft 365 E5 Developer (Windows および電話会議なし)」となっていることが確認できます。 M365VIRTUALMARATHON.COM #M365VM
MICROSOFT 365 VIRTUAL MARATHON 2022 Office スクリプトの有効化 MAY, 4. – 6. 2022
Office スクリプトの有効化(1) 1. Microsoft 365 管理センター( https://admin.microsoft.com/ )の「設定」から「組織設定」を開きます。 M365VIRTUALMARATHON.COM #M365VM
Office スクリプトの有効化(2) 2. 「Office Scripts」をクリックします。 M365VIRTUALMARATHON.COM #M365VM
Office スクリプトの有効化(3) 3. 「ユーザーが Excel on the web でタスクを自動化できるようにする」がオフになっている場合はチェックを入れ「保存」 ボタンをクリックします。スクリプトの共有やPower Automateからの実行もここで設定を行います(既定:すべて有効)。 M365VIRTUALMARATHON.COM #M365VM
Office スクリプトの有効化(4) 4. 設定有効後にWeb版のExcel(Excel on the web)を開くと「自動化」タブが表示され、Office スクリプトが 利用できることが確認できます。 M365VIRTUALMARATHON.COM #M365VM
まとめ
まとめ ▪ 「Office スクリプト」とは、Web版のOffice(Excel)での処理をスクリプトで自動化 する機能(“開発者向け”というより“エンドユーザー”向け) ▪ 開発環境は貧弱 ▪ Power Automateとの連携が非常に強力 ▪ 現時点で利用可能なプランは商用・教育機関向けのみ Microsoft 365 開発者プログラムに登録することでMicrosoft 365 E5サブスクリプションを利用可能に M365VIRTUALMARATHON.COM #M365VM
Office スクリプトはVBAを置き換えるものなのか? ▪ Office スクリプトとVBAは立ち位置が違い、Office スクリプトはVBAに取って代わるものではない。 ▪ 用途に応じて適切な開発手法を選択する必要がある。 例:ローカル環境にインストールされた会計ソフトから出力したCSVファイルを顧客指定の フォーマットに整えたExcelファイルとして出力する → VBA 例: SharePointにExcelファイルがアップロードされたらグラフ化してPDFに変換、結果をTeams で通知する → Office スクリプト + Power Automate M365VIRTUALMARATHON.COM #M365VM https://docs.microsoft.com/ja-jp/office/dev/scripts/resources/vba-differences?WT.mc_id=M365-MVP-4029057より
VBA・Office スクリプトの将来 ▪ 10年後、15年後のVBA わからない ▪ 10年後、15年後のOffice スクリプト わからない 最新のOffice開発手法を 追い続けるしかない❗ M365VIRTUALMARATHON.COM #M365VM
参考資料・Q&Aサイト
参考資料 ▪ Office Scripts(Office スクリプト)の記事まとめ https://www.ka-net.org/blog/?p=12733 ▪ Office スクリプト&Power Automateハンズオン資料 https://github.com/kinuasa/OfficeScriptsHandsOn M365VIRTUALMARATHON.COM #M365VM
Office ScriptによるExcel on the web開発入門 ▪ 著者:掌田 津耶乃 ▪ 出版:ラトルズ ▪ 発行:2021年10月31日(初版) ▪ URL: https://www.rutles.net/products/detail.php? product_id=882 https://www.amazon.co.jp/dp/4899775229 より M365VIRTUALMARATHON.COM #M365VM
Officeスクリプト入門講座 ▪ 著者:alice ▪ 発行:2022年1月22日(初版) ▪ 初出イベント:技術書典12 ▪ URL: https://techbookfest.org/product/57604472 08751104?productVariantID=4791751158005 760 M365VIRTUALMARATHON.COM #M365VM
参考動画 ▪ Microsoft Excel での Office スクリプトを使用したスプレッドシートの自動化(Microsoft Build 2020) https://docs.microsoft.com/ja-jp/events/build-2020/int114?WT.mc_id=M365-MVP-4029057 ▪ Microsoft 365 Developer (Office Scripts) https://www.youtube.com/c/Microsoft365Developer/search?query=%22Office%20Scripts%22 ▪ Microsoft 365 Community (Office Scripts) https://www.youtube.com/c/Microsoft365PnPCommunity/search?query=%22Office%20Scripts%22 ▪ Sudhi Ramamurthy (YouTubeチャンネル) https://www.youtube.com/user/s65012r/videos M365VIRTUALMARATHON.COM #M365VM
Q&Aサイト・フィードバック先 ▪ Stack Overflow - office-scripts https://stackoverflow.com/questions/tagged/office-scripts ▪ Microsoft Q&A - office-scripts-excel-dev https://docs.microsoft.com/en-us/answers/topics/office-scripts-excel-dev.html ▪ Microsoft Feedback Portal - Excel https://feedbackportal.microsoft.com/feedback/forum/c23f3b77-f01b-ec11-b6e7- 0022481f8472 ▪ Microsoft User Research - Office Scripts Makers https://ux.microsoft.com/Panel/OfficeScriptsTrade M365VIRTUALMARATHON.COM #M365VM
その他参考資料 ▪ Power Apps 開発者向けプラン(旧Community Plan) https://powerapps.microsoft.com/ja-jp/developerplan/ ※無料でPower AppsやPower Automateが使える開発環境(個人向け) ※Microsoft 365 開発者プログラムとの相性◎ ▪ Power Apps 開発者プランにサインアップ https://docs.microsoft.com/ja-jp/power-apps/maker/developer- plan?WT.mc_id=M365-MVP-4029057 M365VIRTUALMARATHON.COM #M365VM