VBA開発者のためのOffice スクリプト入門

202K Views

May 05, 22

スライド概要

「Microsoft 365 Virtual Marathon 2022 Japanese Track」(Office スクリプトセッション)の登壇資料です。
(2022年5月5日オンライン開催)

profile-image

きぬあさと申します。 VBAやOffice スクリプト、Power Automate for desktop等について情報発信しております。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

MICROSOFT 365 VIRTUAL MARATHON 2022 MAY, 4 – 6, 2022 きぬあさ @kinuasa VBA開発者のための Office スクリプト入門

2.

MICROSOFT 365 VIRTUAL MARATHON 2022 SPONSORS M365VIRTUALMARATHON.COM #M365VM

3.

きぬあさ / @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

4.

本セッションの目的・注意事項 ▪ 目的: “Office スクリプト”のことを知ってもらう。 ▪ 注意事項:  本日の資料は後程アップする予定です。  本セッションで取り扱う主なOffice アプリケーションはExcelです。  本セッションは2022年5月時点の情報を元にしています。今後のアップ デート等で仕様が変更される可能性があります。 M365VIRTUALMARATHON.COM #M365VM

5.

AGENDA ▪ Office スクリプトの概要、および開発環境 ▪ Office スクリプトでできることとできないこと ▪ Office スクリプトとPower Automateの連携 ▪ Microsoft 365 開発者プログラムの紹介 ▪ まとめ M365VIRTUALMARATHON.COM #M365VM

6.

Office スクリプトの概要、および開発環境

7.

Microsoft Officeの開発手法 ▪ VBA 本日取り扱う内容 ▪ VSTO / COM アドイン ▪ Office アドイン ▪ Office スクリプト(英語表記:Office Scripts) ▪ その他  Microsoft Graph  Open XML (Open XML SDK, ClosedXML, EPPlus, openpyxl)  XLLアドイン M365VIRTUALMARATHON.COM #M365VM

8.

Office スクリプトとは(1) ▪ Web版のExcel(Excel on the web)での処理をスクリプトで自動化する機能 ▪ 2021年5月に一般公開(GA) ▪ 「自動化」タブから「マクロの記録」のように操作を記録・再生可能 ▪ スクリプト言語:TypeScript, JavaScript M365VIRTUALMARATHON.COM #M365VM

10.

【比較】Google スプレッドシートの「マクロを記録」機能 M365VIRTUALMARATHON.COM #M365VM

11.

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

12.

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

13.

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

14.

Office アドインとは(1) ▪ Office上で動作するWebアプリケーション  例:翻訳、ウィキペディア、Office スクリプトのエディター ▪ Office 2013で追加された機能、旧名称:Office 用アプリ(apps for Office) ▪ クロスプラットフォーム ▪ Word、Excel、PowerPoint、Outlook 他対応 ▪ Office スクリプトの兄貴分 M365VIRTUALMARATHON.COM #M365VM

15.

Office アドインとは(2) ▪ 自習書:https://github.com/kinuasa/OfficeAddInsHandsOn ▪ Microsoft Learn  アドインを使用した Office クライアントのカスタマイズの概要  Office アドインで Office クライアントを拡張する  Excel 用 Office アドインを作成する  Word 用 Office アドインの構築  Outlook 用 Office アドインの構築 M365VIRTUALMARATHON.COM #M365VM

16.

Napa(オンラインOffice アドイン開発ツール) ※現在は廃止 M365VIRTUALMARATHON.COM #M365VM

17.

Office スクリプトの開発環境 ▪ 作業ウィンドウのコード エディター ※ブラウザー上で開発 ▪ コード エディターの機能  インテリセンス  ミニマップ  コードの折りたたみ  テーマ設定  サンプルコード ▪ ▪ ▪ ▪ ×ブレークポイント → console.log デバッグ スクリプトの共有 フローを作成 追加ボタン(スクリプト ボタン) M365VIRTUALMARATHON.COM #M365VM

18.

インテリセンス M365VIRTUALMARATHON.COM #M365VM

19.

ミニマップ M365VIRTUALMARATHON.COM #M365VM

20.

コードの折りたたみ M365VIRTUALMARATHON.COM #M365VM

21.

テーマ設定 Office 濃色 淡色 ハイ コントラスト M365VIRTUALMARATHON.COM #M365VM

22.

サンプルコード M365VIRTUALMARATHON.COM #M365VM

23.

×ブレークポイント → console.log デバッグ https://docs.microsoft.com/en-us/office/dev/scripts/testing/troubleshooting?WT.mc_id=M365-MVP4029057#console-logs より M365VIRTUALMARATHON.COM #M365VM

24.

スクリプトの共有(1) M365VIRTUALMARATHON.COM #M365VM

25.

スクリプトの共有(2) ※スクリプトは「osts」ファイルとして作成者のOneDriveフォルダー上に保存 M365VIRTUALMARATHON.COM #M365VM

26.

スクリプトの共有(3) この便利なスクリプト、 皆にも使ってもらいたいなー! 太郎さん M365VIRTUALMARATHON.COM #M365VM

27.

スクリプトの共有(4) 「作業中のブック」から太郎さんが 作ったスクリプトが実行できたわ! スクリプトがあるのは 太郎さんのOneDrive M365VIRTUALMARATHON.COM 花子さん #M365VM

28.

SharePointサイトでスクリプトを保存・共有できるようになる(予定) Office スクリプトはWeb版のExcel自動化機能のセットです。 この新機能により、ユーザーはスクリプトをSharePointサイトに保存し、 チームメンバーがより簡単にExcelワークブック上でコラボレーション、 閲覧、およびチーム所有のスクリプトを実行できるようになります。 https://www.microsoft.com/ja-jp/microsoft-365/roadmap?featureid=93767 より M365VIRTUALMARATHON.COM #M365VM

29.

スクリプトの共有(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

30.

ostsファイル M365VIRTUALMARATHON.COM #M365VM

31.

Office スクリプトの特徴 ▪ プログラムとブックが分離されている。 ▪ スクリプトのバージョン管理はOneDriveにお任せ! MyBook_20220505_最新版.xlsm MyBook_20220505_最新版- コピー.xlsm MyBook_20220505_最新版- コピー - コピー.xlsm M365VIRTUALMARATHON.COM #M365VM

32.

フローを作成 Power Automateテンプレート M365VIRTUALMARATHON.COM #M365VM

33.

追加ボタン(スクリプト ボタン)(1) ※シート上にボタンが追加され、 ボタンをクリックするとスクリプトが実行される。 M365VIRTUALMARATHON.COM #M365VM

35.

【比較】Google スプレッドシートの「スクリプトを割り当て」機能 M365VIRTUALMARATHON.COM #M365VM

36.

追加ボタン(スクリプト ボタン)(2) ※ボタンイメージは変更可能 M365VIRTUALMARATHON.COM #M365VM

37.

追加ボタン(スクリプト ボタン)(3) ※Windows版Excelでも実行可能 M365VIRTUALMARATHON.COM #M365VM

38.

Office スクリプトで できることとできないこと

39.

Office スクリプトでできること(一例) ▪ セルの読み書き、書式設定 ▪ シートの追加・削除 ▪ グラフの追加・削除 ▪ テーブルの追加・削除 ▪ ピボットテーブルの追加・削除 ▪ コメントの追加・削除 ▪ 図形の追加・削除 ▪ 画像の追加・削除 M365VIRTUALMARATHON.COM #M365VM

40.

MICROSOFT 365 VIRTUAL MARATHON 2022 DEMO MAY, 4. – 6. 2022

41.

Office スクリプトでできないこと(一例) ▪ ブックを開いたり閉じたりできない。 ▪ イベント非サポート ▪ 他アプリケーションのオートメーション不可 ▪ Windows API非サポート いろいろ制限あるなぁー・・・ M365VIRTUALMARATHON.COM #M365VM

42.

Office スクリプトとPower Automateの連携

43.

Power Automateとは ▪ 様々なアプリやサービスを連携可能なワークフロー自動化サービス ▪ クラウド側のサービス連携(DPA)とデスクトップアプリケーションの自動化(RPA) ▪ コネクタ:Power Automate上でサービス連携を行うための部品 ▪ トリガー:処理を開始するための条件を定義するもの  例:メールを受信したとき、OneDriveにファイルがアップされたとき ▪ アクション:コネクタが提供する、サービスを呼び出す処理  例:メールを送信する、OneDrive上にファイルを作成する Excel Online (Business) コネクタにはOffice スクリプトを実行する ためのアクションも用意されています。 M365VIRTUALMARATHON.COM #M365VM

44.

Excel Online (Business) コネクタ(1) M365VIRTUALMARATHON.COM #M365VM

45.

Excel Online (Business) コネクタ(2) M365VIRTUALMARATHON.COM #M365VM

46.

Excel Online (Business) コネクタ(3) ▪ 「スクリプトの実行」アクションによって、スクリプトの処理をPower Automate のフローに組み込むことができる。 ▪ スクリプトにパラメーターを渡すことも、スクリプトから値を返すこともできる。 M365VIRTUALMARATHON.COM #M365VM

47.

Office スクリプトを使用するフローのテンプレート M365VIRTUALMARATHON.COM #M365VM

48.

MICROSOFT 365 VIRTUAL MARATHON 2022 DEMO MAY, 4. – 6. 2022

49.

Office スクリプト&Power Automateが便利なのは分かったけれど… 会社で365を使っているけれどOffice スクリプトは無効化されている… M365VIRTUALMARATHON.COM 365のライセンスが無い #M365VM

50.

Microsoft 365 開発者プログラムの紹介

51.

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

52.

Microsoft 365 開発者プログラムの参加に必要なもの ▪ 個人用に作成されたMicrosoft アカウント、もしくは職場用のアカウント  アカウントの種類については「Microsoft 365 開発者プログラムにサインアップするには、 どのアカウントを使用できますか?」参考  Microsoft アカウントを所持していない場合は「新しい Microsoft アカウントを作成する 方法」を参考に新規取得 ▪ SMS(ショートメッセージサービス / ショートメール)を受信するための携帯 電話番号 M365VIRTUALMARATHON.COM #M365VM

53.

Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(1) 1. Microsoft 365 開発者プログラムのサイト( https://developer.microsoft.com/ja-jp/microsoft-365/devprogram )を開き、「今すぐ参加」ボタンをクリックします。 M365VIRTUALMARATHON.COM #M365VM

54.

Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(2) 2. Microsoft アカウント、もしくは職場用のアカウントでサインインします。 M365VIRTUALMARATHON.COM #M365VM

55.

Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(3) 3. 「国/地域設定」、「会社名」、「言語設定」を入力し、契約条件に問題がない場合は同意のチェックを 入れ、「次へ」ボタンをクリックします。 M365VIRTUALMARATHON.COM #M365VM

56.

Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(4) 4. 開発者としての目的を選択し、「次へ」ボタンをクリックします。 M365VIRTUALMARATHON.COM #M365VM

57.

Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(5) 5. 関心のある開発分野を選択し、「保存」ボタンをクリックします。 M365VIRTUALMARATHON.COM #M365VM

58.

Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(6) 6. Microsoft 365 E5 サンドボックスのセットアップ画面が表示されるので「構成可能なサンドボックス」を 選択し、「次へ」ボタンをクリックします。 M365VIRTUALMARATHON.COM #M365VM

59.

Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(7) 7. 「国/地域設定」、「ユーザー名」、「ドメイン」、「パスワード」を設定後、「続行」ボタンを クリックします。 M365VIRTUALMARATHON.COM #M365VM

60.

Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(8) 8. ID確認用のコードをSMSで受信するため、SMSが利用可能な携帯電話番号を入力し、「コードの送信」 ボタンをクリックします。 M365VIRTUALMARATHON.COM #M365VM

61.

Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(9) 9. SMSで送られてきたコードを入力し、「設定」ボタンをクリックします。 M365VIRTUALMARATHON.COM #M365VM

62.

Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(10) 10. セットアップが完了するまで1、2分待ちます。 M365VIRTUALMARATHON.COM #M365VM

63.

Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(11) 11. Microsoft 365 開発者サブスクリプションが画面に表示されればセットアップ完了です。 M365VIRTUALMARATHON.COM #M365VM

64.

Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(12) 12. 「サブスクリプションに移動する」、もしくはサインイン画面( https://www.office.com/login )からセットアップした アカウントでサインインすると、Microsoft 365のサービスが利用できるようになっていることが確認できます。 M365VIRTUALMARATHON.COM #M365VM

65.

Microsoft 365 開発者プログラムへの参加方法 - 2022年4月版(13) 13. Microsoft 365 管理センター( https://admin.microsoft.com/ )からライセンス情報を見ると、「Microsoft 365 E5 Developer (Windows および電話会議なし)」となっていることが確認できます。 M365VIRTUALMARATHON.COM #M365VM

66.

MICROSOFT 365 VIRTUAL MARATHON 2022 Office スクリプトの有効化 MAY, 4. – 6. 2022

67.

Office スクリプトの有効化(1) 1. Microsoft 365 管理センター( https://admin.microsoft.com/ )の「設定」から「組織設定」を開きます。 M365VIRTUALMARATHON.COM #M365VM

68.

Office スクリプトの有効化(2) 2. 「Office Scripts」をクリックします。 M365VIRTUALMARATHON.COM #M365VM

69.

Office スクリプトの有効化(3) 3. 「ユーザーが Excel on the web でタスクを自動化できるようにする」がオフになっている場合はチェックを入れ「保存」 ボタンをクリックします。スクリプトの共有やPower Automateからの実行もここで設定を行います(既定:すべて有効)。 M365VIRTUALMARATHON.COM #M365VM

70.

Office スクリプトの有効化(4) 4. 設定有効後にWeb版のExcel(Excel on the web)を開くと「自動化」タブが表示され、Office スクリプトが 利用できることが確認できます。 M365VIRTUALMARATHON.COM #M365VM

71.

まとめ

72.

まとめ ▪ 「Office スクリプト」とは、Web版のOffice(Excel)での処理をスクリプトで自動化 する機能(“開発者向け”というより“エンドユーザー”向け) ▪ 開発環境は貧弱 ▪ Power Automateとの連携が非常に強力 ▪ 現時点で利用可能なプランは商用・教育機関向けのみ Microsoft 365 開発者プログラムに登録することでMicrosoft 365 E5サブスクリプションを利用可能に M365VIRTUALMARATHON.COM #M365VM

73.

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より

74.

VBA・Office スクリプトの将来 ▪ 10年後、15年後のVBA わからない ▪ 10年後、15年後のOffice スクリプト わからない 最新のOffice開発手法を 追い続けるしかない❗ M365VIRTUALMARATHON.COM #M365VM

75.

参考資料・Q&Aサイト

76.

参考資料 ▪ Office Scripts(Office スクリプト)の記事まとめ  https://www.ka-net.org/blog/?p=12733 ▪ Office スクリプト&Power Automateハンズオン資料  https://github.com/kinuasa/OfficeScriptsHandsOn M365VIRTUALMARATHON.COM #M365VM

77.

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

78.

Officeスクリプト入門講座 ▪ 著者:alice ▪ 発行:2022年1月22日(初版) ▪ 初出イベント:技術書典12 ▪ URL: https://techbookfest.org/product/57604472 08751104?productVariantID=4791751158005 760 M365VIRTUALMARATHON.COM #M365VM

79.

参考動画 ▪ 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

80.

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

81.

その他参考資料 ▪ 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