"Office 365 / SharePoint Online" にカテゴリー登録されている145 投稿

[Flow] Microsoft Flow for Excel (Preview) 登場 - SharePoint と連携させよう!

さて、1週間前ほどになりますが、Excel 内から Microsoft Flow のフローが利用できるようになりました。といっても、まだプレビューです。

Flow is available in Excel and the Outlook Web App, introducing Business process flows, and more! | Flow のブログ

There are two new flow integrations: with the new Flow button in Excel, you can create and trigger automation directly on tables in your worksheets, and, you can now create flows that sync tasks to Microsoft ToDo in the Outlook Web App.

Excel の アドインとして提供されます。アドインの詳細は下記のリンク先などを参照してください。

Microsoft Flow for Excel (Preview)゜

Automate repetitive tasks by integrating your favorite apps and services with Microsoft Flow.

 2018/8/1 現在のアドインの概要は次の通り。

  • バージョン : 1.0.0.2
  • 更新日時 : 2018/7/17
  • サポートされている製品 : Excel 2016 + , Excel 2016 for Mac, Excel Online

つまり、Excel 2016 以降で利用できるということですが、注目すべきはいわゆる "Office Webアドイン" であるため Excel Online でも使えるということ。手元の環境が Excel 2013 以前だというケースでは Excel Online だと試せます。

Office ストアへのアクセス制限を考慮

ところで、このアドインは入手元は Office ストアです。Office 365 テナント管理者は組織内のユーザーが Office ストアにアクセスできるかどうかを制御できます。そのため、これを許可していなければユーザー自身が Office ストアからアドインを追加することはできません。試したくてもテナント管理者が許可していないなぁ。ということもあり得るので注意してください。

 

とはいえ、これは基本的に「ユーザーが勝手には」追加できないという話。管理者が今回の Microsoft Flow アドインのように、特定のアドインの利用を全てのユーザー、または特定のユーザーやグループにのみ許可することはできます。

2018-08-01_11-34-27

アドインを追加してみよう!

では上記の条件をクリアしている前提ですが、Excel 2016 でアドインを追加してみましょう。

追加すると[データ]タブに[Microsoft Flow]ボタンが追加されるようになります。これをクリックすると Flow 用のパネルが右側に表示されます。Excel Online を使っている場合も同様にアドインの追加が必要です。

2018-08-01_11-42-20

このパネルからフローを作成したり、開始したりできます。

Excel アドインでは Excel内に作成してあるテーブルを基軸にします。テーブル内の任意のセルを選択し、その行データを使ってフローを処理します。ですから、「選択した行から」というトリガーが基本。ちなみに現時点でExcelアドインを使ったテンプレートとして用意されているものは次の通りです。 

  • 選択した行から --> メールを送信する
  • 選択した行から --> SharePointにアイテムを作成する
  • 選択した行から --> Dynamicsにエンティティを作成する
  • 選択した行から --> 承認を送信する
  • 選択した行から --> Teamsにメッセージを投稿する
  • 選択した行から --> 他のスプレッドシートに行を作成する
  • 選択した行から --> Twitter にメッセージを投稿する

SharePoint と連携させてみよう!

 では SharePointリストと連携したフローを作成してみましょう。対象は SharePoint のカスタムリスト。Excel シート内のデータをここに手作業で書き写すのではなく、フローを使って素早くアイテムを追加できます。詳しくは YouTubeに動画を公開しましたので、ご参考まで。

トラブル対応情報

ちなみにビデオでは、Excel Online を使いました。デスクトップ版に比べるとトラブルが少ないためです。では、ここまでで遭遇したトラブルを以下に共有しておきます。いずれも Flow のパネル部分の問題であり、パネル自体は表示されるが、パネル内に何も表示されないか、エラーが表示されてしまう。

2018-08-01_16-04-15

私自身は、複数テナントを持っているので、これを切り替えるためにアカウントを切り替えて使っていたのですが、何度かやっていたら、「ウンともスンとも」画面がでてきません。アドインのアンインストールと追加も何度やったことか。。。Cookieの削除とか、あれこれ。しかも半日経っても治らない。そこで Twitter でこの困った件をつぶやいたら「Yugo Shimizu」さんからヒントを頂きまして、それをもとにあれこれやったら「サインイン」が出てくるところまでは何とか修正できました。

で、何をやったかというのをメモしておくと、そもそもこの部分は Office Webアドインであり JavaScriptで動作しているわけです。そのため、プラウザー側にも何かしら影響を受けます。そのため下記のことをやりました。が、正確にはどれが正しい処理なのかまでは追及しきれていないので、はっきりしたことが分かれば追記しようと思います。

  • IEと Edgeの両方を使っているので、念のためどちらも Office 365 ポータル (www.office.com) に入り直し、きちんとサインアウトする
  • 各ブラウザーでMicrosoft Flow ポータルにも入り直し、きちんとサインアウトする
  • 念のためPCを再起動

以上です。ただ、再び同様の現象が発生しているので、なかなか問題追及は難しいです。特にOffice 365 にサインインするときに「サインインを継続する」をオンにせずにいるとトラブルにあう可能性が高まります(これは、PowerAppsの方も同じですが)。

Edge を使って Excel Online 上でフローを利用しようとしていたら、下記のようなエラーメッセージにも遭遇しました。

2018-08-01_15-01-29

確かに IE側では、https://flow.microsoft.com はセキュリティ ゾーンにキチンと登録していなかった。。。ですが、Chrome に切り替えたらすんなり動きました。まだまだプレビューですし、不安定さありますが、それでも Excel Online + Chromeは安定しているようなので、検証する際にはまずはこの環境を利用することをお勧めします。

 


[SharePoint Online] サイト作成に関する機能アップデート

 2018年7月下旬より SharePoint Online でのサイト作成機能が更新されます。

詳しくは下記の記事を参照してください。

Updates to SharePoint self-service site creation

Empower users to create their own sites and watch their productivity soar. Beginning in late July of 2018, we'll begin rolling out several improvements to the SharePoint site creation experience - to empower more users and provide the right controls to admins. Included in this update are the abili...

さて、この記事の内容をピックアップしておきましょう。ちなみに、今回する新機能により、これまでの SharePoint サイトの運用やサイト設計がまた少し様変わりします(うちのSharePoint 研修の一連のテキストも改訂しないと、、、)。

※ SharePoint Online ではクラシックUI前提の "チームサイト" は "チーム サイト(クラシック表示)" というサイトテンプレート名になっており、モダンUI対応の方は単に "チーム サイト" と呼びます。

 追加される新機能

次の機能が追加されるとのこと。

  • Office 365 グループ作成ができないユーザーでもモダン チーム サイトを作成できるようユーザーに許可する
  • 作成するサイトの既定の言語を選べる
  • ユーザー自身によるサイト作成(サブサイトを含む)を許可または拒否するかを管理者が設定できる

 Office 365 グループ作成ができないユーザーでもモダン チーム サイトを作成できるようユーザーに許可する

 最初からサイト全体がモダンUI対応になっている、いわゆる "モダンSharePointサイト" のテンプレートは "チームサイト" か "コミュニケ―ションサイト" かですが、"チームサイト"の方は必ず Office 365 グループが紐づいていました。しかし、この更新で、Office 365 グループが紐づかない 単独の SharePoint サイトコレクションとして "チームサイト" が作成できるようになります。そのため、Office 365 グループを作らせないようにしていたユーザーでも "チーム サイト" (モダン) は作成できるということですね。

ということで、SharePoint Online の管理センターに次のような設定があります。

2018-07-27_21-39-00


各設定は SharePoint Home からサイト作成させる場合の話で上 2 つが重要です。一番上が既定値で、Office 365 グループを作成できないユーザーの場合はクラシックUIのチームサイト (実質、サイトコレクション) を自分で作成できるよということ。二番目が、グループを作成できるユーザー以外には[サイトの作成]メニューは非表示にするよという設定ですね。

ここが↓のように新しくなるそうです。

NewCreateModernSite

モダンサイトかクラシックサイトかの選択になり、モダンサイトの場合 Office 365 グループ作成権限がなくてもサイトが作れるよということ。こちらの方が分かりやすいですね。

ご存知ない方もいると思いますが、Office 365 に接続されていないクラシックなSharePoint サイトも後から Office 365 グループに接続できます。ですから、今回の措置でもおそらく、あとから Office 365 グループには必要に応じて接続できるのではないかと思います。

ちなみに、特定のユーザーにだけ Office 365 グループに紐づく チームサイトを作成できるよう制限する場合は従来通り Azure AD Premium P1 が必要で、手順も変わらずです。

いつものように最初は対象リリースの顧客にロールアウトが開始され、ワールドワイドでのロールアウト完了は 2018年8月末までを予定。

作成するサイトの既定の言語を選べる

 Office 365 テナントの既定の言語とは異なる言語をサイト作成時に選択できるようになります。

現在は言語が選択できませんが、

2018-07-27_21-53-09

これが選択できるようになる。

SubSIteCreation

 

ユーザー自身によるサイト作成(サブサイトを含む)を許可または拒否するかを管理者が設定できる

現在、サイトの管理者は[サイト コンテンツ]ページからサブサイトが作成できますが、このメニューの表示を制御する設定が SharePoint Online 管理ポータルにあります。

2018-07-27_17-35-23

ただし、これは Office  365 グルーブに接続されているサイトに限った設定です。

新たな設定では次の3つになります。クラシックサイトも対象となるというのが新しい点ですね。

  • サブサイト コマンドを非表示にする
  • クラシック サイトでだけサブサイト コマンドを非表示にする
  • 全てのサイトでサブサイト コマンドを非表示にする

今後 SharePoint サイトの構造は1サイトコレクションに1サイトという構造にして、SharePoint Hub を使って必要に応じて複数のサイトコレクションを集約するアプローチがとれます。関連記事はこちら。現在 SharePoint Hub はプレビューですが、詳しくはまたの機会にあらためて記事にしましょう。

 


[SharePoint Online] SharePoint Designer で探る モダン SharePoint チーム サイト

harePoint Online のモダン SharePoint サイトである「チーム サイト」をSharePoint Designer 2013 (SPD 2013) で探ってみました。せっかくなのでブログで共有しますが、非常にマニアックなので、気になる方だけどうぞ。

++++++++++++++++++++++++++++++++++++++

この新しい方のチーム サイトのテンプレートのIDは STS#3 というもの。クラシックUIのチームサイトは STS#0 なので、サイトテンプレートの名前こそほぼ一緒ですが、IDは異なっているわけです。

そもそも SPD 2013 で接続できるのか、という話ですが、勿論接続できます。

ただ表示されるメニューが少し異なります。何が違うかといえば "マスターページ" のメニューがないこと。下はクラシック チーム サイトに接続した場合です。

2018-07-27_20-43-11

しかし、モダン チーム サイトにアクセスするとこれが非表示になる。

2018-07-27_20-37-23

ちなみに、マスターページがないわけではありません。[すべてのファイル]からたどればマスターページギャラリーにはアクセスできます。サイトの設定ページなどはモダンUIに対応していないため、従来通り seattle.master は参照できないといけませんしね。

2018-07-27_20-48-47

ナビゲーションメニューに[マスタ ページ]がないということは、手軽には ASP.NET で言うところの "コンテンツ ページ" が作れないということです。さて、どうしようか? サイトのページ ライブラリであれば、Webパーツページは作れるはずです。ということで作ってみます。

ビデオの手順でもわかるように、スクリプトエディタWebパーツやコンテンツ エディタWebパーツはありません。モダン チーム サイトは NoScript という設定となっているため、カスタムスクリプトは実行できない。その代り、SharePoint Framework もしくは SharePoint Framework Extensions を使ってスクリプトを使ったカスタマイズをすることになります。

とはいえ、本当にスクリプトは実行できないの? と疑ってみます。作成したWebパーツページにスクリプトを組み込んでみましょう。まずは、"埋め込みコード" を使ってみますが、確かに受け付けません。また SPD 側でソースコードを編集して保存すると、スクリプトを書き込む以前に編集保存を拒まれます。

さて、サイト ページについて確認しておきましょう。サイトページはクラシックのチームサイトでも、SharePoint Online の管理者が許可していれば利用できるので、モダン SharePoint サイトに限った話ではありませんがついでに確認してみましょう。

当然、サイトページのソースコードも SPD を使えば確認できます。中身を見ると下記のようになっており、見慣れた Page ディレクティブ内のマスターページを参照する MasterPageFile 属性はもうありません。

2018-07-27_21-13-37

念のためWikiページと比較しましょう。こちらは次のように Page ディレクティブに MasterPageFile 属性を持っています。

2018-07-27_21-12-54

さらに気になったところとしては「サイトオプション」です。ここはクラシック サイトとはかなり違います。

2018-07-27_21-20-21

モダン SharePoint サイトは Office 365 グループに接続されているからでしょう、GroupId や SiteCoolectionGroupId... といったプロパティがありますね。GroupType が Private とか。ここを見れば、プライベートグループか、パブリックかもわかるのか。

2018-07-27_21-18-17

 

ということで、色々と違いがあって面白いですね。

 


[SharePoint Online] モダンUI のサイトのサイドリンクバー編集

モダンUIになっているサイトのサイドリンクバーは[編集]をクリックすれば、素早くナビゲーションが編集できます。音声はありませんが、基本操作を動画にしてみました。ちなみに、このサイトは Office 365 グループに接続されている SharePoint サイトであるため URL 以外にも会話や Microsoft Planner, 予定表などのリンクも生成できるようになっています。

SharePoint Server 発行インフラストラクチャーがアクティブ化されている場合

上記のサイトはサイトコレクションのフィーチャー(拡張機能)の一つである「SharePoint Server 発行インフラストラクチャー」機能がアクティブ化されていない場合の例です。モダンUIでは、この機能がサポートされません。SharePoint Onlineでは新しいページ発行の仕組みに置き換えているところであり、この仕組みはもやは古びれてしまっている。そもそも、この古い仕組みの元となっている機能は Content Management Server 2002 当たりから引き継がれているものです。さすがにアーキテクチャーが約20年前となってきており、モダンUIでは互換性は重視していないということです。家で例えるならもう住み替え時なのです。

しかし、私が利用してきたサイトコレクションもこの機能をアクティブ化することを前提にしてきているため、非アクティブ化することでどういった問題が発生するか影響を確認する時間も十分にとれない。。。。となれば、この設定はアクティブなまま、たとえサポートされなくても、一部の画面はモダンUIにしていこう。サイトコンテンツを新しいサイトに移行するのも簡単ではないし。ということで、既存サイトの一部の設定をモダンUIになるように構成しなおしながら、利用するというジレンマが生まれます。

すると、ナビゲーション設定はどうなるでしょぅ? 本来モダンUIになっているサイトではサイドリンクバーは手軽に編集できますが、既存サイトに関してはナビゲーション部分は従来通り設定する必要があります。つまりあまり直感的には操作できません。サイドリンクバーを[編集]メニューから編集しようとすると、「ナビゲーションの設定」ページに遷移します。この画面で「構造ナビゲーション」を変更します。

2018-07-23_6-12-15

しかし、上記の動画と同じように "サブリンク" を作成できるものの階層としては見出しとその直下のみで、2段階までしか設定できません。これより階層を深くしようとすると管理ナビゲーションが必要になりますが、途端に設定するためのハードルが上がります。ちなみにモダンUIでは「最近使った項目」は非表示になりました。

ですが、モダンUIにはまだない良い点としては「対象ユーザー」が指定できるところでしょう。特定のグループメンバーにしかリンクを表示しないという設定はモダンUIでのナビゲーション編集にはない機能です。

ということで、既存サイトをモダンUI化することはできるにはできますが、最初からモダンUIになっているサイトと比較すると操作性や機能性に差があり、どちらにも一長一短があります。


[SharePoint Online] 列の書式を使って Flow を起動する

以前の記事でも紹介しましたが、SharePoint Online でモダンUIになっているリストは "列の書式" が利用できるようになっています。Excel の条件付き書式のようなものですね。

[関連記事] 

これを使って Microsoft Flow も起動できるという話が去年の Microsoft Ignite 2017 では説明されていたのですが、しばらく書き方がわからずにいました。しかし、最近になって資料を見直したところ、情報が公開されていたので本ブログでも紹介しておきます。

列の書式の公式ドキュメントとしては次の資料を参照してください。

列の書式設定で SharePoint をカスタマイズする

SharePoint リストとライブラリに含まれるフィールドの表示方法をカスタマイズします。それには、フィールドがリストビューに組み込まれるときに表示する要素を記述し、それらの要素に適用するスタイルを記述する JSON オブジェクトを作成します。

今のところ "JSON" 形式で式を書く必要があるため、エンドユーザーにとってはハードルが高くなっていますが、もう少し簡単に設定できるようになる予定だそうです。ということで、資料をさっと見て、難しそうだなぁと思う方も少なくないと思います。ソースが読めることに越したことはありませんが、ちょっとでもトライしてみようという気持ちがあれば、コード部分をコピー&貼り付けでもある程度利用できるので、ぜひチャレンジしてみましょう。

リストの準備

手元で作成したデモ環境では、カスタム リストとして作成した「コース一覧」からコース申し込みができるようにしていきます。今回はコース一覧リストの作成方法は、本題から少しずれるので詳しく触れませんが、実際に取り組む方は、任意のカスタム リストを作成してみましょう。

2018-07-16_16-55-51

コース申し込みはワークフローで処理し、別のカスタム リストにコース申し込みのエントリーを登録するように作成したいと考えています。たとえば、下記のようなイメージですね。

2018-07-16_11-32-13

ちなみに、この手のアプリは "Notes で同じようなことをしていた" という話がよく出てくるもので割とニーズがあります。今回はデモ用であるため簡易作成していますが、これをベースに社内研修の申し込み管理などのアプリへと本格的に発展させることも可能です。

ということで、この例では2つのカスタム リストを用意しています。実際にフローの起動のみ試す場合はリストは1つあれば十分です。

Microsoft Flow の準備

さて、コース一覧の方に Microsoft Flow を実装します。ここからワークフローを使ってコース申し込みができるようにしたい。まずは目的のコースを選択してたら、手動でフローを開始できるようにします。フロー開始時には所属組織や氏名、連絡先のメールアドレスなどを入力できるようにしておきます。詳細は割愛しますが、大まかには次のような手順でフローを作成していきます。とはいえ手軽に試すのであれば、単純にメールを送信するフローを実装するのでもよいでしょう。

1. フローを作成するために、コマンドメニューから[Flow]>[フローの作成]をクリックします。

2018-07-16_10-11-32

2. 選択したアイテムをベースにフローを開始することで、申し込み者が対象コースに関しての詳細を入力しなくてもフローで勝手に取得できるようにします。このために[選択したアイテムのカスタム アクションを完了する]というテンプレートからフローを作成するとよいでしょう。

2018-07-16_10-12-10

3. ワークフロー開始時にユーザーに入力してもらいたい項目があれば、次のような手順で入力を求めるように設定していきます。

まずは最初のアクションの[編集]をクリックします。

2018-07-16_10-16-05

出力の追加をクリックします。

2018-07-16_10-21-49

出力の種類を選択します。コース申し込みなので、"テキスト" を選択して、ユーザーが所属組織や氏名を入力できるようにします。もちろん、フローではフロー開始者を申込者としてユーザー情報を自動取得することもできるので必要があればそういった設定も検討するとよいでしょう。とはいえ、大規模組織ではグループ企業からの代理申し込みなどいろいろと想定すると、必ずしもフローで自動取得できないケースも少なくないため、まずは手入力にした方が無難なので、ここでは手入力としています。

2018-07-16_10-21-55

今回は「申込者の所属組織」というフィールドを用意しました。

2018-07-16_10-22-08

同様の手順で次のように申込者の氏名や電子メールなどのフィールドを複数用意します。

2018-07-16_10-22-56

後は[新しいステップ]をクリックし、追加したい処理を増やして構成していくだけです。

2018-07-16_10-23-20

ちなみに、今回は別のリストに申込者情報を書き込むようにし、コース一覧に表示される登録者数を更新する処理と定員以上になった場合にコース一覧の Status 列を "申し込み可能"から"キャンセル待ち" に変更するような処理も加えてみました。運用環境であれば、これに申込者への 受付メール送信 やコース実施管理者への登録者情報のメール送信など、いろいろと処理を考える必要があります。あとは、定員オーバーになっているときに申し込みをクローズするなど。ただし、今回はデモ用に作成しているので、そこまで込み入った処理はまだしていません。

ちなみに、作成したフローは既定では作成者しか実行できないので、サイトにアクセスできるユーザーは誰でも実行できるようにMicrosoft Flowの画面から "実行のみのユーザーの管理" 設定を次の手順で変更しておきます。今回作成しているサイトは Training-PowerAppsFlow という Office 365 グループで利用しているサイトであるためこのグループに権限を付与しています。

さて、ここまで設定することで次のようにコース一覧のリストから目的のコースを選択すると [Flow]メニューに[コースの申し込み] というフロー(上記手順で予め作成したフローの名前) が表示され、フローが実行できるようになります。次のデモを確認してみてください。ちなみに、登録者数列がフローによりカウントアップしていることも確認できます。

このフローによって、先ほど紹介したように別リストである "Course Entries" リストにエントリーがフローによって自動的に登録できるようになっています。

2018-07-16_11-32-13

 列の書式設定

さて肝心要の列の書式設定です。今回はコース一覧にあらかじめ "申し込み" という名前で 1行テキストの列を用意しています。この列の値は空のままでかまいません。その代り、列の書式でボタンを生成します。ということで、"申し込み" 列をクリックし、[列の設定]>[この列の書式設定]とクリックします。

2018-07-16_12-04-39

列の書式に次のようなJSON形式のデータを記述します。

2018-07-16_18-31-45

[ソース] 列の書式 (ワークフロー起動サンプル)

図内でも指し示しているように実行したいフローのIDに関しては、自分の環境のフローのIDに置き換える必要があるので注意してください。フローのIDは フローの管理画面に表示される URLにあります。ちょうど下の画面の上部にある赤枠部分です。

2018-07-16_11-33-20

このURLを以下に書き出しておきましょう。ちょうど色を指定している部分がIDであり、フローごとに異なります。

https://japan.flow.microsoft.com/manage/environments/Default-35bb248d-3041-46e1-9f25-800b2e9f7256/flows/6f5ec875-9ce4-4382-a6ae-4ee57c3f706d/details

フロー編集時なら下記の部分です。

https://japan.flow.microsoft.com/manage/environments/Default-35bb248d-3041-46e1-9f25-800b2e9f7256/flows/6f5ec875-9ce4-4382-a6ae-4ee57c3f706d?backUrl=%2Fflows%2F6f5ec875-9ce4-4382-a6ae-4ee57c3f706d%2Fdetails

フローのIDを書き換えたら、先ほどの列の書式にJSON形式で構文を書きます。すると下記のようなボタンが表示されます。これをクリックすると直接、フローが開始できるようにラウンチパネル(右側部分)が表示されるようになります。ユーザーにとっては、アイテムを選択して[Flow]をクリックして、目的のフローを選んで、、、という手間がなくなるため直感的に操作できますね。

研修のご案内

さて、ちょっと宣伝を。

Microsoft Flow については下記のコースで取り扱っていますし、弊社オフィスアイラーニングポータルなどでも学習できます。

ちなみに、列の書式については簡単に下記コースで説明はしていますが、 事前知識としてWeb技術の一つであるCascading Style Sheets の知識も必要です。

SharePoint経験者向け SharePoint モダンUI機能について学ぶワークショップ

SharePoint Online サイト管理基礎

このあたりの知識は、弊社オフィスアイラーニングポータルをご利用いただくことで対応できるほか、インターネット上にも書店にも資料は多くありますので、ご自身でしっかり身に着けておくようにしましょう。