Tips

【ShiftJIS】スマレジ用CSVをGoogleスプレッドシートで作成

Excelの代わりにGoogleスプレッドシートを使う

事務ソフトといえばMicrosoft Officeが定番。その中でもExcelの使用頻度はかなり高いのではないでしょうか。

スマレジを使っている方の中には、CSVファイルをダウンロードしてExcelで読み込んで使っていたり、Excelで作成したCSVファイルをアップロードしたりしていると思います。

たしかにExcelは便利なソフトですが、小規模事業者の場合Excelを使用するPC分購入するのもコストが高いですし、バージョンの違いやMacユーザーがいるなど使用環境の違いによるトラブルもあります。

そんな中Excelの代わりになりうるのがGoogleスプレッドシートです。

Googleスプレッドシートとは?

ざっくり言ってしまうとGoogle版Excelです。

Excelとある程度の互換性もありますが、大きな違いの一つはクラウドサービスである点です。

Excelの場合−−ブラウザ版も存在しますが基本的には−−パソコンにインストールして利用します。ファイルも全部パソコンに保存です。

Googleスプレッドシートはインストール不要でブラウザで開いて利用します。そして作成されたファイルもすべてクラウド上に保存されます。

これによってExcelよりもユーザー間や端末間の共有が簡単で、WindowsでもMacでもChromebookでもブラウザで開けば同じように見て、利用できるのです。

 

そして何よりGoogleスプレッドシートは無料!

Googleアカウントさえあればすぐに使えるのは最大の武器と言えるでしょう。

スマレジ管理で使う際の問題点

スマレジからダウンロードしたCSVファイルをGoogleスプレッドシートで使うのはとても簡単です。ファイル>インポートからCSVファイルをスプレッドシートにアップロードすることで取り込むことができます。

 

問題はスプレッドシートで作成したCSVファイルをスマレジのアップロードするときにあります。スマレジにアップロードするCSVファイルはShift-JISでないといけませんが、Googleスプレッドシートのファイル>ダウンロード>カンマ区切りの値(.csv,現在のシート)でダウンロードしたファイルはUTF-8なのです。

これは例えるなら、スマレジは日本語しかわからないので日本語のファイルを送る必要があるのに、Googleスプレッドシートの方は英語でファイルを作成してしまうということです。

これをスマレジにアップロードするにはこちらで一度UTF-8からShift-JISへ翻訳する必要があります。しかし毎回他の方法でファイルを修正するのは非効率的ですし、そうできない端末もあるでしょうから、スプレッドシートを直接Shift-JISのCSVファイルとして保存したいところです。

GoogleAppsScriptを使おう!

GoogleAppsScriptとは?

ExcelでいうところのVBAが、GoogleスプレッドシートでのGoogleAppsScript(GAS)になると思ってもらえればOKです。細かいところは色々違いますが、デフォルトの状態ではできない高度な機能を実装するためのわかってる人向けな機能というころは共通と言えます。

GoogleAppsScriptという高度な機能を使うと先程の問題が解消できるというわけです!

初心者でも簡単!先人の知恵をコピペしよう

Excelをご存知の方のなかにはVBAを使えばなにかできるのはわかっていたけど、よくわからなくて使ってなかったなんて方も多いでしょう。私もそうでした。

しかし安心してください。1からGASについて学んで自力でこれを実装するのは大変ですが、世の中にはありがたいことに知見を公開してくださっている先人がいらっしゃいます。そんな方々のお力を借りましょう。

 

GASを開く

まずはGoogleスプレッドシートを新規作成します。

画面上部にあるメニューからツール>スクリプトエディタを選択してください。

こんな画面が開いたら、function myFunction() {}の3行をすべて削除しておきます。

 

先人の知恵を借りる

以下のURLを開いてください。

 

この中にあるサンプルコードをコピーして、先程のスクリプトエディタでfunction myFunctionというのがあった場所にペーストします。

 

それができたら実行の左にあるフロッピーディスクのようなボタンをクリックして保存してください。

 

実際に使ってみる-その1

最初に作成したスプレッドシートの画面に戻り、ページを更新します。

すると先程のメニューに「CUSTOM MENU」が追加されたのがわかりますか?

このメニュー内にある「シートをCSV(Shift_JIS)で出力」をクリックすると、開いているシートがShift-JISのCSVとして保存されるという仕組みです。

試しにシートになにか入力して、「シートをCSV(Shift_JIS)で出力」をクリックしてみてください。

 

すると保存が成功……ではなく「承認が必要」というポップアップが表示されます。

続行を選択し、自分のGoogleアカウントを選択。

次に「このアプリはGoogleで確認されていません」というなんだか危険そうなページが現れます。ここで安全なページに戻るを押すとスクリプトが使えませんので、左下の詳細をクリック。一番下の「無題のプロジェクト(安全ではないページ)に移動」を選択します。今度は許可を求められますので、許可をクリックしてください。元のスプレッドシートに戻ってくればOKです。

 

もう一度CUSTOM MENUから「シートをCSV(Shift_JIS)で出力」を実行します。

今度は成功……ではなく以下のようなエラーが出たはずです。

ReferenceError: underscoreGS is not defined

 

必要なライブラリを追加する

実は先程のコピペしたコードは、UnderscoreGSというものをGASに追加する必要があったのです。なのでもう一度ツール>スクリプトエディタを開きましょう。

今度は左のメニューバーにあるライブラリの右にある+マークを選んでください。

スクリプトIDの欄に以下の文字列をコピペします。

1PcEHcGVC1njZd8SfXtmgQk19djwVd2GrrW1gd7U5hNk033tzi6IUvIAV

検索を押すとバージョンとIDが出てきますので、このまま追加を押します。

 

コードを修正する

先程コピペしたコードは実は少し古いので、ライブラリの追加の他にいくつか修正を加えます。

  • 「var newLineChar = "\r\n";」の下に「var _ = Underscore.load();」を追加
  • 「var csvString = underscoreGS._map(」を「var csvString = _.map(」に変更
  • DocsList.createFile(blob);」を「DriveApp.createFile(blob);」へ変更

 

実際に使ってみる-その2

それではスプレッドシートの画面へ戻ります。

もう一度CUSTOM MENUから「シートをCSV(Shift_JIS)で出力」を実行してください。

再度「承認が必要」になりますので、先程同様の手順を行って再び実行します。

今度は「スクリプトを実行しています」から「スクリプトが終了しました」までつつがなく終了したはずです。

 

でも保存されたファイルはどこに行ったのでしょうか?

その答えはGoogleDriveです。

 

GoogleDriveを確認する

へアクセスします。

 

その中に「μ's.csv」というファイルがあるのを確認できますか?

これが先程作成したShift-JISのCSVファイルになります。

これを右クリックでダウンロードを押すとパソコンに保存できます。

 

毎回この作業を繰り返すのも面倒なので、GoogleDriveをパソコンと同期しておきましょう。

からデスクトップアプリがダウンロードできるので、インストールしておきます。

出てくる画面にしたがって設定するとGoogleDriveフォルダができており、今後作成されたファイルはここに現れます。

 

CSVファイルのデフォルトネームを変更する

「μ's.csv」では使い勝手が悪いので、名称を変更しておきましょう。

先程のコードにある「var fileName = “μ's.csv”;」の「μ's」を好きな名前に変更してください。

 

Googleスプレッドシートはスマレジ管理に使える!

これでスマレジ用に作業するための環境としてスプレッドシートがかなり使いやすくなりました。

実は今回使ったGASを活用すると、わざわざCSVファイルを作成しなくても直接スマレジのデータを更新したり、逆にスマレジからデータを取得することも可能です!

 

今回やってみてGASもVBA同様難しそうだなと感じたかたも多いかもしれません。

でも大丈夫です!私も少し前まではまったくわからない状態でしたし、今でも完璧にマスターしているわけではありません。

そんな状態でも自分たちの業務内で活用するレベルならなんとかなります!

 

当サイトでも少しずつではありますが、スマレジユーザーの方がより業務効率化を図れるよう情報を伝えてまいりますので、ぜひブックマークやSNSでのシェアをよろしくお願いいたします。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です