SpreadsheetのデータをSJISのCSVでダウンロードする方法(非エンジニアの私でもできた!)

毎日毎日毎日毎日スプレッドシートを使って仕事をしていますが、地味に面倒だなと思っていたことが、SpreadsheetのデータをCSVでエクスポートする際に、デフォルトの機能だとUTF-8でしかDLできないということ。SpreadsheetのデータをSJISのCSVにしたいときに、UTF-8形式のCSVでダウンロードして一度テキストエディタで開き、UTF-8からSJISに変換しないといけないのだ

作業時間としては1分もかからないのですが、こういう地味にチリツモな作業に時間を取られるのが何よりも嫌なのでなんとかしたいと思って調べました。解決しました。こういうの調べるとだいたいエンジニア向けの記事が出てきて前提知識がすっとばされてるので私みたいな非エンジニアは躓くことが多いのです。

できたこと

Spreadsheetスプレッドシートで文字コードJISのCSVを生成1

いつも使っているスプレッドシートにCUSTOM MENUとしてSJISダウンロードリンクを追加。これを実行すると表示されているシートがSJISのCSVでGoogleDriveフォルダに保存されます。

やったこと

GASをコピペする

非エンジニア向けなので基本的には何でもコピペですませます。世の中の先人たちよ・・・ありがとう!!まず、GASのエディタを開きます。スプシのツール>スクリプトエディタ

Spreadsheetスプレッドシートで文字コードJISのCSVを生成2

今回ソースコードの元にしたのはこちらの記事です。

Spreadsheetスプレッドシートで文字コードJISのCSVを生成3

タイトルは適当につける。そして↑このコード.gsのところにをまるっと前述記事のサンプルコードを上書きして保存します。

スプシメニュー内にカスタムメニューを表示する

まず、onOpenの関数を実行します。

Spreadsheetスプレッドシートで文字コードJISのCSVを生成4

onOpenの関数を選んで左の▶ボタンを押す。そうするとスプレッドシートのヘルプのとなりにメニューが登場!(メニューを追加できるなんて全然知らなかったよ・・・!!)

Spreadsheetスプレッドシートで文字コードJISのCSVを生成1

ライブラリを追加する

メニューが表示されたからといって早まって↑のメニューから実行してもエラーがでます。「UnderscoreGS」というライブラリを使っているのでこれを呼び出す設定をしなければならない。これは「UnderscoreGS」で検索してでてきたこちらの記事を参照させてもらいました。

Spreadsheetスプレッドシートで文字コードJISのCSVを生成5

リソースのライブラリを開いて、

Spreadsheetスプレッドシートで文字コードJISのCSVを生成6

Add a libraryのところに MiC3qjLYVUjCCUQpMqPPTWUF7jOZt2NQ8 を記載して追加。バージョンを1のFirst Releaseを選ぶ(多分なにかが選んであればOKぽい)

Spreadsheetスプレッドシートで文字コードJISのCSVを生成7

関数を修正する

最初にコピペした元のコードで使っているDocsListという関数がすでに廃止されているようなので、代わりにDriveAppという関数にする。コード内のDocsList→DriveAppに書き換えて保存。

いざ実行

最初の1回は実行の許可が必要。画面に従って進んでいけばOK。

Spreadsheetスプレッドシートで文字コードJISのCSVを生成8

実行が終わると、GoogleDriveにファイルが生成された〜〜〜!※これローカルにDLしたいなーと思ったんだけどこれは時間あるときにまた探そう。

以上、まさに「30分でできることを3分で終わらせるために3時間かかった」の良い事例です。