SharePoint Online のモダン ドキュメント ライブラリを利用していてちょっと不便だなと思うところとして、アップした Word や Excel や PowerPoint などのファイルをクリックした場合に Office Online の編集モードで開いてしまうという点があります。

ファイル個別で対応することもできるのですが、これもちょっと手間です。

SharePoint Online や OneDrive for Business で共有した Office ファイルを読み取り専用モードで開かせる
https://idea.tostring.jp/?p=4402

「列の書式設定」でプレビューを開く列を作成できないかなと思い試してみました。

列を作成し「列の書式設定」を設定する

さて、まずは目的のライブラリに新しい列を作成します。「1 行テキスト」列で大丈夫です。作成したら、列名をクリックすると表示されるメニューから [列の設定] – [この列の書式設定] と進みましょう。

列の書式設定パネルが表示されたら、下側にある [詳細モード] をクリックし、詳細モードに切り替えます。詳細モードの「ここに 列 書式設定 JSON を…」には次のような JSON を貼り付けます。

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "children": [
    {
      "elmType": "span",
      "style": {
        "padding-right": "8px"
      },
      "txtContent": "プレビューを開く"
    },
    {
      "elmType": "a",
      "attributes": {
        "iconName": "OpenInNewTab",
        "class": "sp-field-quickActions ms-fontColor-themePrimary",
        "target": "_blank",
        "href": "='AllItems.aspx?id='+[$FileRef]+'&parent='+substring([$FileRef],0,indexOf([$FileRef],[$FileLeafRef])-1)"
      }
    }
  ]
}

貼り付け後に [保存] をクリックすると、設定が反映されます。

動作を確認する

新しく追加した列には「プレビューを開く」のように表示され、アイコンをクリックすると別タブが表示され、プレビューモードでドキュメントが開くと思います。(うまく表示されないときは、開いたタブをリロードしてみてください)

これでドキュメントをプレビューモードで開くためのリンクを作成できました。

さいごに

SharePoint Online のリストやライブラリをちょっと便利にするためには、今回のように「列の書式設定」がお手軽で有用です。

また、なにか思いついたら書き留めてみようと思います。