ミケガモのブログ

コピーしたGoogleスプレッドシートファイル(.gsheet)のリンクが機能しない

この記事では、PC内のGoogleドライブフォルダに保存されるファイルのことを"ローカルファイル"と呼びます。

.gsheetファイル

基本情報

.gsheetファイルとは、Googleスプレッドシートの各シートに1対1対応で紐づけられたファイルである。

.gsheetファイルは、スプレッドシートのデータそのものではない。中身はシートのURLであり、Googleが管理しているシートにアクセスするためだけのファイルである。

Googleドキュメントとの関係

Googleドキュメントでスプレッドシートを作成すると、Googleドライブ内に同名の.gsheetファイルが生成される。

ブラウザ上でGoogleドライブもしくはGoogleスプレッドシートを起動し、.gsheetファイルをクリックすると、対応したシートを開くことができる。

.gsheetファイルは、Googleドライブ上の任意の場所に移動・コピーすることが可能である。 .gsheetファイルを移動しても、シートとの紐づけが崩れることは無い。

一方、.gsheetファイルをコピーすると、そのスプレッドシートのコピーも自動で作成される。

「バックアップと同期」との関係

Googleの「バックアップと同期」をPCにインストールしている場合、シートを作成するとPCのローカルGoogleドライブフォルダに.gsheetファイルが保存されていく。 .gsheetファイルをローカルでダブルクリックすると、対応したシートをブラウザで開くことができる。 ローカルの.gsheetファイルをテキストエディタで開くと、その中身が「対応したシートのリンクURL、シートID、オーナーのGmailアドレス」であることがわかる。 f:id:mikegamo:20190301194618p:plain ↑ ブラウザ上のコピー・移動。

今回の問題

.gsheetファイルをローカルでコピーすると、スプレッドシートのコピーを作成できる。 しかし、ローカルでコピーした.gsheetファイルをダブルクリックしても、コピー元のスプレッドシートが開かれてしまう。

例えば以下のような具合。

ローカルのA.gsheetをコピーし、B.gsheetにリネーム。

すると"B"というスプレッドシートが新規に作られ、シート"A"とは独立して編集できる。

しかし、ローカルのB.gsheetをダブルクリックするとシート"A"が開かれてしまう。

ブラウザ上でB.gsheetを開けば、シート"B"を開くことは可能。

この問題が起きるのは、ローカルでコピーしたときだけである(ブラウザ上でコピーすると発生しない)。

コピーした.gsheetファイルの中身をテキストエディタで開いてみると、中身のリンクURLやシートIDがコピー元の.gsheetファイルと全く同じであることが確認できる。どうやら、コピーしただけでは中身が書き換わらないということらしい。

解決方法

  1. リンクが機能していない.gsheetファイルを、ローカルのGoogleドライブ上で削除する。
  2. ブラウザ上のGoogleスプレッドシートにて下図のようなポップアップが出るので、「復元」を選択。
  3. 削除した.gsheetファイルが復元される。

f:id:mikegamo:20190301194638p:plain

↑ ファイル削除後に出るポップアップ。

このようにして復元された.gsheetファイルは、リンクが正常に機能する。 中身を確認すると、URLやIDが更新されている。


Googleドキュメントについて熟知しているわけではありません。間違いがありましたらコメントしていただけると非常に助かります。