【tips】OneDriveに配置のMS Officeファイルへのダウンロードリンク作成方法

bloggerはファイルをuploadできないので、ページにファイルを配置したい場合、別のストレージサービスにファイルを格納し、ページにはストレージサービスへのリンクを張り付けることになる。
別の記事を書いているときにExcelファイルを配置したいと思い、私が一番良く使っているストレージサービスはOneDriveにファイルを配置、ダウンロードリンクを張り付けたところ、なかなか手間取ったのでその際の解決方法のメモ。

Microsoft Office Onlineでファイルを開いてしまうためダウンロードできない

何に手間取ったかというと、OneDriveに配置したMS OfficeファイルはデフォルトでMicrosoft Office Onlineというクラウドサービスでファイルを開いてしまいファイルダウンロードができないことで、編集権限を付けるor上位のフォルダにもアクセス権限を付ければダウンロードできる(ローカルのExcelで開ける)ようになるのだが、さすがにpublicで編集権限をつけるのは怖いので出来ず、また、上位のフォルダにアクセス権限つけるのも不必要なファイルまでも公開してしまいそうでできなかった。
Microsoft Office Onllineでも開ければ問題ないようにも見えるのだが、Microsoft Office Onlineは機能制限があり、マクロが実行できなかったり、ボタンなどのフォームが勝手に削除されてしまう仕様となっており、作成したものをそのまま公開することができなくて困ってしまっていた。

リンクの文字列を変更して解決

ダウンロードリンクに変更するのは分かってしまえば簡単で、xxxxxx.aspxとなっている文字列をdownload.aspxに変更するだけ。これにより以下のような動作になる。

普通にリンクを作成した場合→リンク
文字列をdownload.aspxに変更した場合→リンク

そもそも共有リンクの取得方法

そもそも、OneDriveに格納したファイルを共有する方法がとても分かりづらいのでその方法もついでに。

先ずはOneDriveをオンラインで開き、共有リンクを取得したいファイルを右クリック。

「リンクの取得」を選択後「リンクの編集 - サインインを必要としません」を選択して「作成」ボタンをクリック。

表示されるhttpsで始まる文字列が共有リンク。但し、これをそのまま張り付けてもMicrosoft Office Onlineで開いてしまうので、ダウンロードさせてい場合は上述の通り文字列を変更する必要がある。

因みに、リンクの取得→作成した時点で外部公開(共有)されてしまうので注意が必要。
外部公開(共有)されているか否かを確認するには、ファイルを右クリックした後に「詳細」を選択すると、以下のような表示が画面右に表示されるのでそこで確認できる。

外部公開(共有)されて"いない"場合は以下の表示

外部公開(共有)されて"いる"場合は以下の表示。
「×」をクリックすれば外部公開(共有)を解除できる。

コメント

このブログの人気の投稿

slackでgeneralの投稿を全削除する

Python SQLite スレッド間でコネクションの使いまわしは出来ない

Google location history(JSON形式)をCSVファイルにする