Quantcast
Channel: いつも隣にITのお仕事
Viewing all 2110 articles
Browse latest View live

Google Apps ScriptでGoogleカレンダーを操作する最初の一歩のスクリプト

$
0
0

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

GAS、Googleカレンダー、スプレッドシートを活用して、これまでの仕事の生産性を測定する方法についてシリーズでお伝えしています。

前回の記事はこちらです。

GASで仕事の生産性を測定して振り返るためのGoogleカレンダーの使い方
過去に何の仕事にどれだけ時間をかけてきたか、振り返ったことはありますか?Googleカレンダーを上手に記録しておくことで、これまでの仕事の生産性を測定するための貴重なデータになります。

生産性を測定するためのGoogleカレンダーの使い方についてお伝えしました。

今回から、いよいよGoogle Apps Scriptを触っていきます。

まずは、Googleカレンダーの操作方法ということで、Google Apps ScriptでGoogleカレンダーを扱う最初の一歩をお伝えしていきます。

では、行ってみましょう!

プロジェクトを作成する

まず、GASのスクリプトを書くためのプロジェクトを準備します。

最終的にはスプレッドシートにデータを書き出して集計するので、スプレッドシートと紐づくタイプの「コンテナバインドスクリプト」としてプロジェクトを作成します。

新規のスプレッドシート「カレンダー実績」を作り、メニューから「ツール」→「スクリプトエディタ」とたどります。

スプレッドシートからスクリプトエディタを開く

すると別タブで、スクリプトエディタに新規プロジェクトが開きます。

このスクリプトエディタの画面でGASのコードを編集していきます。

プロジェクト名はこちらもカレンダー実績などとしておきましょう。

スクリプトエディタでプロジェクトを開く

GoogleカレンダーのカレンダーIDの調べ方

次に、GoogleカレンダーのカレンダーIDの調べ方を見ていきましょう。

というのも、GASからGoogleカレンダーを操作するためには、操作対象となるカレンダーのカレンダーIDをコード内で使用する必要があるのです。

まず、Googleカレンダーを開いて、メインメニューの対象となるカレンダーのオーバーフローメニュー(三点リーダーアイコンです)から、「設定と共有」を選択します。

Googleカレンダーの設定と共有を開く

設定画面では「カレンダーの統合」をクリックします。

ページ内リンクで移動し、その一番上に「カレンダーID」が表示されていますので、それをコピーしておきましょう。

マイカレンダーの設定からカレンダーIDをコピー

ちなみに、アカウントのメインのカレンダーであれば、アカウント名がそのままカレンダーIDになっているはずです。

カレンダーを操作する最初のスクリプト

では、このカレンダーIDを使って、GASからアクセスしてみましょう。

スクリプトエディタで以下のようなコードを入力して、実行してみてください。

const CALENDAR_ID = '**********'; //カレンダーID
function getCalendarEvents() {
  const calendar = CalendarApp.getCalendarById(CALENDAR_ID);
  console.log(calendar.getName());
}

カレンダーIDの「**********」の箇所には、みなさんのカレンダーIDをペーストして入力してください。

実行すると、以下のような「Authorization required」という画面が表示されますので、「許可を確認」から、カレンダーへのアクセスを許可してください。

スクリプトからの許可を確認

実行後、ログを確認すると以下のように、対象のカレンダー名が表示されるはずです。

カレンダー名がログ出力される

つまり、カレンダーへのアクセス成功ですね!

カレンダーIDでカレンダーを取得する

コードの解説をしていきましょう。

3行目ですが、カレンダーIDを使ってカレンダーを取得しています。

使用しているのは、CalendarAppクラスのgetCalendarByIdメソッドです。

CalendarApp.getCalendarById(カレンダーID)

カレンダーIDを渡すことで、対象のカレンダーをCalendarオブジェクトとして取得します。

ちなみに、CalendarAppオブジェクトは、GASのCalendarサービスのトップレベルオブジェクトで、カレンダーの操作はまずこのオブジェクトからスタートします。

カレンダー名を取得する

4行目のgetNameメソッドは、Calendarオブジェクトのカレンダー名を取得するものです。

Calendarオブジェクト.getName()

Calendarオブジェクトには他にもさまざまなメソッドが用意されていますので、それを使って操作をしていくことになります。

まとめ

以上、Google Apps ScriptでGoogleカレンダーを扱う最初の一歩についてお伝えしました。

カレンダーの操作…けっこう楽しそうですよね!

次回は、Google Apps Scriptを使用して取得する方法をお伝えします。

Google Apps Scriptで特定月のカレンダーのイベント情報を取得する
Googleカレンダーの記録を活用して過去の仕事の生産性を測定するしていきます。今回はGoogle Apps Scriptで特定の月のカレンダーのイベント情報を取得する方法についてお伝えします。

どうぞお楽しみに!

連載目次:GASとカレンダーの記録を活用して過去の仕事を振り返る

企業ではスプレッドシートを勤怠管理やプロジェクト進捗管理などに使っている場合も多いと思います。このシリーズでは、カレンダーとスプレッドシート、そしてGoogle Apps Scriptを使って仕事の生産性を測定する方法についてお伝えしています。
  1. GASで仕事の生産性を測定して振り返るためのGoogleカレンダーの使い方
  2. Google Apps ScriptでGoogleカレンダーを操作する最初の一歩のスクリプト

Google Apps Scriptで時刻計算と文字列抽出の数式を入力する方法

$
0
0
formula

photo credit: PhotoLanda Identidad de Euler via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Googleカレンダーの記録をスプレッドシートに書き出して活用する方法についてお伝えしています。

前回の記事はこちら。

Google Apps ScriptでGoogleカレンダーの場所・説明を取得する方法
Googleカレンダーの記録をスプレッドシートに書き出して活用する方法についてお伝えしています。今回はGoogle Apps ScriptでGoogleカレンダーのイベントの場所と説明を取得する方法です。

カレンダーイベントの場所、説明をスプレッドシートに書き出す方法をお伝えしました。

さて、イベント情報の出力から生産性を測るために、出力したイベントに対してスプレッドシート関数を使っていろいろと自動集計をかけたいところです。

そこで、GASでその計算をする数式も入力してしまおうと思います。

ということで、Google Apps Scriptで時刻計算と文字列抽出の数式を入力する方法をお伝えします。

では、行ってみましょう!

前回のおさらい

前回作成したスクリプトはこちらです。

const CALENDAR_ID = '**********'; //カレンダーID

function getCalendarEvents() {

  const calendar = CalendarApp.getCalendarById(CALENDAR_ID);  
  const startTime = new Date('2020/04/01 00:00:00');
  const endTime = new Date('2020/05/01 00:00:00');
   
  const events = calendar.getEvents(startTime, endTime);
  
  const values = [];
  for(const event of events){
    const record = [
      event.getTitle(),
      event.getStartTime(),
      event.getEndTime(),
      event.getLocation(),
      event.getDescription()
    ];
    values.push(record);
  }
  
  SpreadsheetApp.getActiveSheet().getRange(2, 1, values.length, values[0].length).setValues(values);
  
}

実行すると、以下のように指定した月のイベント情報をシートに書き出すことができます。

GASでGoogleカレンダーの場所、説明をシートに書き出す

各列の役割はこちらです。

  • A列: タイトル
  • B列: 開始日時
  • C列: 終了日時
  • D列: 場所
  • E列: 説明

数式で算出したいもの

今回、スプレッドシート関数の数式で算出したいものは2つあります。

ひとつは、イベントの工数です。

これは、終了日時から開始日時を引き算すれば計算可能です。

もうひとつは、イベントのカテゴリです。

シリーズ初回の記事でお伝えしているのですが、プロジェクトごとに【プロジェクトID】【コミュ】【ブログ】…というように、隅カッコでプロジェクトの目印を付与していました。

これをカテゴリとして別の列に抽出できれば、プロジェクトごとの集計ができるようになりそうです。

イベント情報と数式をシートに書き出すスクリプト

スクリプトを実行してイベント情報をシートに書き出す際に、これらの数式も追加で書き出すようにしていきます。

そうすれば、書き出したそばから自動でそれらの計算をしてくれますよね。

まず、そのようにしたスクリプトを紹介しましょう。

こちらです。

const CALENDAR_ID = '**********'; //カレンダーID

function getCalendarEvents() {

  const calendar = CalendarApp.getCalendarById(CALENDAR_ID);  
  const startTime = new Date('2020/04/01 00:00:00');
  const endTime = new Date('2020/05/01 00:00:00');
   
  const events = calendar.getEvents(startTime, endTime);
  
  const values = [];
  for(const event of events){
    const record = [
      event.getTitle(),
      event.getStartTime(),
      event.getEndTime(),
      event.getLocation(),
      event.getDescription(),
      '=INDIRECT("RC[-3]",FALSE)-INDIRECT("RC[-4]",FALSE)',
      '=IFERROR(SUBSTITUTE(LEFT(INDIRECT("RC[-6]",FALSE),FIND("】",INDIRECT("RC[-6]",FALSE))-1),"【",""),"")'
    ];
    values.push(record);
  }
  
  SpreadsheetApp.getActiveSheet().getRange(2, 1, values.length, values[0].length).setValues(values);
  
}

19, 20行目をご覧ください。

19行目が、イベントごとの所要時間を算出する数式。

20行目が、イベントタイトルからカテゴリを抽出する数式です。

ご覧の通り、配列内に数式を含める場合、それをダブルクォーテーションで囲めばOKです。

各数式について、以下解説をしていきます。

イベントの所要時間を算出する

まずはイベントの所要時間の算出からです。

これは、終了日時から開始時間を減算する簡単な数式で実現可能です。

ただ、通常のスプレッドシート関数であれば、ひとつの式を入力して、別の行にコピーをしていけば、相対参照の機能で、その数式で指し示す行数も自動でずれていってくれるのですが、今回はそうはいきません。

そこで、A1形式ではなくて、R1C1形式を使います。

R1C1形式を使うと、現在のセルを起点にして、参照するセルを「今のセルから左に3列」といった指定の仕方が可能になります。

それを実現しているのが、INDIRECT関数です。

INDIRECT(セル参照の文字列, [A1形式にする])

第二引数をFALSEにすれば、A1形式ではない、つまりR1C1形式になります。

Rは行、Cは列を表しますので、行は同じで列は今のセルから左に3つであれば、その文字列は「RC[-3]」となります。

所要時間をF列に出力するなら、終了日時は-3列、開始日時は-4列ですから、以下の数式で計算可能です。

'=INDIRECT("RC[-3]",FALSE)-INDIRECT("RC[-4]",FALSE)'

文字列から墨付きカッコ内のテキストを抜き出す

続いて、イベントのカテゴリをA列のイベント名隅カッコの中から抜き出します。

例えば、タイトルが「【勉強】jQuery」であれば「勉強」と出力したいわけです。

この場合、スプレッドシートの5つの関数を駆使します。

FIND関数で特定の文字の位置を調べる

まず、最初の手順として「閉じる方の」墨付きカッコ、つまり「】」の位置を調べて、その手前までを切り取って抜き出すということをします。

特定の文字の位置を調べるにはFIND関数を使います。

FIND(検索文字列, 検索対象のテキスト)

文字の位置なので、その文字が何文字目かを返します。

以下のようにすれば、閉じる方の墨付きカッコは4文字目ですから「4」という値が返ります。

今回、例えばA2セルに「【勉強】jQuery」が入力されているとすると、以下のようになります。

=FIND("】", A2)

LEFT関数で文字列を指定位置まで切り取る

FINDのおかげで、閉じる法の墨付きカッコの位置がわかりましたので、文字列をそこまでで切り取ってしまいます。

文字列を左から切り取るにはLEFT関数を使います。

LEFT(文字列, 文字数)

今回は、隅カッコ「】」は除外したいので、FIND関数の戻り値のマイナス1までをLEFT関数で切り取ります。

=LEFT(A2, FIND("】", A2) - 1)

これで「【勉強」という文字列が返ります。

SUBSTITUTE関数で文字を置き換える

続いて「始まる方の」墨付きカッコが残っているので、これを削除します。

特定の文字を削除するにはSUBSTITUTE関数を使います。

SUBSTITUTE(検索対象のテキスト, 検索文字列, 置換文字列)

今回の場合は検索文字列は「【」、置換文字列は空文字にすればOKですから、以下のようにします。

=SUBSTITUTE(LEFT(A2, FIND("】", A2) - 1), "【", "")

これで「勉強」が返りますね。

IFERROR関数でエラー時に空欄にする

しかし、A2セルに隅カッコがない場合は、数式の計算結果が「#VALUE!」となってしまいます。

これは、FIND関数で目的文字「】」が見つからないからです。

そこで、エラー値のときは空欄になるようにIFERROR関数も使っておきます。

IFERROR関数は、式の結果がエラー値の際に代替の値を返すというものです。そうでない場合は、式の結果をそのまま返します。

IFERROR(式, 値)

以上をまとめるとこうなります。

=IFERROR(SUBSTITUTE(LEFT(A2, FIND("】", A2) - 1), "【", ""), "")

INDIRECT化する

さらに、「A2」のようにA1形式は使えませんので、R1C1形式を使います。

今回の場合、G列に書き出したいので、対象となるA列は列方向にマイナス6です。

ですから、「A2」の代わりに、以下を使います。

INDIRECT("RC[-6]", FALSE)

つまりこうなります。

=IFERROR(SUBSTITUTE(LEFT(INDIRECT("RC[-6]", FALSE), FIND("】", INDIRECT("RC[-6]", FALSE)) - 1), "【", ""), "")

これで数式の完成です!

イベントの情報と数式をシートに書き出す

では、スクリプトを実行してみましょう。

出力結果はこうなります。

GASでシートにイベント情報と数式を書き出す

小数の桁数が多いので、以下のように小数点以下を2桁などにしておくと見やすいです。

シートの所要時間を小数点以下2桁に

ちなみに、表示形式で「経過時間」に変更をしないようにしておきましょう。

あとでQUERY関数を使うのであれば、その集計するときに困りますので。

その辺は後の記事で紹介します。

まとめ

以上、Google Apps Scriptで時刻計算と文字列抽出の数式を入力する方法をお伝えしました。

二次元配列に数式を入れるだけならなんてことないですが、数式自体がなかなか複雑でしたね…!

でも一度作ってしまえばあとは楽ですから。

さて、次回は任意の月について書き出せるようにスクリプトを改善していきます。

どうぞお楽しみに!

連載目次:チャットワークのメッセージ送信で出勤・退勤の打刻をする

本シリーズはチャットワークの特定のグループチャットで出勤や退勤の打刻が可能になる勤怠システムをGoogle Apps Scriptとスプレッドシートを用いて作っていきます。これからはチャットというインターフェースがトレンドになってきますので、良い練習になると思いますよ!
  1. Google Apps Scriptでチャットワークでのチャット打刻システムを作る
  2. Google Apps ScriptでのDateオブジェクトの各生成方法、日付と時刻を分ける
  3. Google Apps Scriptでチャットワークからの打刻情報をシートの最終行に追加する方法
  4. Google Apps Scriptでスプレッドシート内を検索して行番号を返す関数(高速版)
  5. Google Apps Scriptでチャットワークからの出勤・退勤の打刻データを様々な条件分岐を駆使して処理する

Google Apps Scriptで任意の月のカレンダーデータをスプレッドシートに書き出す方法

$
0
0
calendar

photo credit: Charos Pix Measurement via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

GASでGoogleカレンダーの記録をスプレッドシートに書き出して活用する方法についてお伝えしています。

前回の記事はこちら。

Google Apps Scriptで時刻計算と文字列抽出の数式を入力する方法
Googleカレンダーの記録をスプレッドシートに書き出して活用する方法についてお伝えしています。今回は、Google Apps Scriptで時刻計算と文字列抽出の数式を入力する方法をお伝えします。

GASで集計用の数式の内容とそれをシートに書き込む方法をお伝えしました。

さて、今回は、スプレッドシートの入力内容をつかって、イベントを出力する月を指定できるようにしていきます。

ということで、Google Apps Scriptで任意の月のカレンダーデータをスプレッドシートに書き出す方法をお伝えします。

では、行ってみましょう!

前回のおさらい

まず、前回のおさらいからです。

スクリプトはこちらです。

const CALENDAR_ID = '**********'; //カレンダーID

function getCalendarEvents() {

  const calendar = CalendarApp.getCalendarById(CALENDAR_ID);  
  const startTime = new Date('2020/04/01 00:00:00');
  const endTime = new Date('2020/05/01 00:00:00');
   
  const events = calendar.getEvents(startTime, endTime);
  
  const values = [];
  for(const event of events){
    const record = [
      event.getTitle(),
      event.getStartTime(),
      event.getEndTime(),
      event.getLocation(),
      event.getDescription(),
      "=INDIRECT(\"RC[-3]\",FALSE)-INDIRECT(\"RC[-4]\",FALSE)",
      "=IFERROR(SUBSTITUTE(LEFT(INDIRECT(\"RC[-6]\",FALSE),FIND(\"】\",INDIRECT(\"RC[-6]\",FALSE))-1),\"【\",\"\"),\"\")"
    ];
    values.push(record);
  }
  
  SpreadsheetApp.getActiveSheet().getRange(2, 1, values.length, values[0].length).setValues(values);
  
}

実行すると、以下のようにイベント情報を出力することができます。

シートの所要時間を小数点以下2桁に

しかし、6,7行目をご覧ください。

イベントを出力する期間の開始日時と終了日時はスクリプト内にベタ打ちなんですね。

今回は、それをスプレッドシートの内容をもとに期間を決められるようにしていきます。

スプレッドシートで指定した月のイベントを取得する

まず、準備としてシートのI1,I2セルを以下のようにしました。

スプレッドシートに取得月を入力

つまり、取得対象とする月を、「I2」セルに入力するようにしたのです。

それで、スクリプトのほうはこの情報を読み取って、その月のイベント情報を取得するように変更しました。

こちらです。

const CALENDAR_ID = '**********'; //カレンダーID

function getCalendarEvents() {

  const sheet = SpreadsheetApp.getActiveSheet();
  sheet.getRange(2, 1, sheet.getLastRow(), 6).clearContent();
  
  const startTime = new Date(sheet.getRange('I2').getValue());
  const endTime = new Date(startTime);
  endTime.setMonth(endTime.getMonth() + 1);
  
  const calendar = CalendarApp.getCalendarById(CALENDAR_ID);    
  const events = calendar.getEvents(startTime, endTime);
  
  const values = [];
  for(const event of events){
    const record = [
      event.getTitle(),
      event.getStartTime(),
      event.getEndTime(),
      event.getLocation(),
      event.getDescription(),
      "=INDIRECT(\"RC[-3]\",FALSE)-INDIRECT(\"RC[-4]\",FALSE)",
      "=IFERROR(SUBSTITUTE(LEFT(INDIRECT(\"RC[-6]\",FALSE),FIND(\"】\",INDIRECT(\"RC[-6]\",FALSE))-1),\"【\",\"\"),\"\")"
    ];
    values.push(record);
  }
  
  SpreadsheetApp.getActiveSheet().getRange(2, 1, values.length, values[0].length).setValues(values);
  
}

ではこのスクリプトの変更点について解説していきましょう。

セルの内容から開始日時と終了日時を求める

8~10行目で、I2セルの内容を取得し、getEventsメソッドにわたす開始日時と終了日時を求める部分です。

const startTime = new Date(sheet.getRange('I2').getValue());
  const endTime = new Date(startTime);
  endTime.setMonth(endTime.getMonth() + 1);

まず、I2セルの値からDateオブジェクトを生成し、それを開始日時startTimeとします。

次に、終了日時を求めるのですが、少し工夫が必要です。

まず、開始日時を表すDateオブジェクトから、新たにDateオブジェクトを生成し、それをいったん終了日時endTimeとします。

Dateオブジェクトは、他のDateオブジェクトを引数に渡して、同じ日時のDateオブジェクトを生成できるのです。

new Date(Dateオブジェクト)

そのあとに、「月」の値だけを1加えて、「翌月」の日時とするのです。

ちょっとまどろっこしいですが、いったん「月」の値を取得して、プラス1をしたものを、「月」の値に設定し直すということをしています。

Dateオブジェクトの月の値を取得するのがgetMonthメソッド、月の値を設定するのがsetMonthメソッドです。

Dateオブジェクト.getMonth()
Dateオブジェクト.setMonth(値)

実行結果

では、I2セルに開始日時を「2020/3/1」として、スクリプトを実行してみましょう。

実行結果がこちらです。

シートに出力した指定月のイベント情報

実行前にセル範囲をクリアする

今回、別のちょっとした便利処理も追加しているので初回しておきます。

6行目です。

sheet.getRange(2, 1, sheet.getLastRow(), 6).clearContent();

対象の範囲となるRangeオブジェクトに、clearConentメソッドを使って、セルの内容をクリアしました。

これで、毎回のスクリプト実行前にイベントを削除する必要はなくなりますね。

まとめ

以上、Google Apps Scriptで任意の月のカレンダーデータをスプレッドシートに書き出す方法についてお伝えしました。

Dateオブジェクトの要素の加算や減算などは、今回お伝えした方法で行う必要がありますので、覚えてくださいね。

次回は、プロジェクトごとに工数を集計する方法をお伝えします。

どうぞお楽しみに!

連載目次:GASとカレンダーの記録を活用して過去の仕事を振り返る

企業ではスプレッドシートを勤怠管理やプロジェクト進捗管理などに使っている場合も多いと思います。このシリーズでは、カレンダーとスプレッドシート、そしてGoogle Apps Scriptを使って仕事の生産性を測定する方法についてお伝えしています。
  1. GASで仕事の生産性を測定して振り返るためのGoogleカレンダーの使い方
  2. Google Apps ScriptでGoogleカレンダーを操作する最初の一歩のスクリプト
  3. Google Apps Scriptで特定月のカレンダーのイベント情報を取得する
  4. Google Apps ScriptでGoogleカレンダーの記録をスプレッドシートに出力する
  5. Google Apps ScriptでGoogleカレンダーの場所・説明を取得する方法
  6. Google Apps Scriptで時刻計算と文字列抽出の数式を入力する方法
  7. Google Apps Scriptで任意の月のカレンダーデータをスプレッドシートに書き出す方法
  8. Googleカレンダーの記録を活用してスプレッドシートに業務別の工数計算

GASで二次元配列に特定の要素が含まれているかを判定する方法

$
0
0

flat

photo credit: mikecogh Country Railway via photopin (license)


みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Google Apps Scriptでフォーム送信メールからデータを抽出してスプレッドシートに登録するツールを作成しております。

前回はこちらの記事でした。

Google Apps Scriptでスプレッドシートの列データを配列として取得する方法
Google Apps Scriptでフォーム送信メールからデータを取得してスプレッドシートにまとめるツールを作成しています。今回はスプレッドシートの列データを配列として取得する方法についてお伝えします。

スプレッドシートの列データを配列として取得する方法をお伝えしました。

この取得した配列内に、特定のIDが含まれているかどうかを判定したいのですが、しかしこの配列は「二次元配列」…

ちょっとテクニックが必要です。

ということで、今回はGASで二次元配列に特定の要素があるかを判定する方法をお伝えします。

では、行ってみましょう!

前回のおさらい

では、前回のおさらいからです。

題材とするスプレッドシートのシートはこちらです。

GASでメッセージIDをスプレッドシートに書き出す

この、C列つまり「メッセージID」の中に、特定のIDが含まれているかどうかをチェックしたいのです。

前回は、以下のスクリプトで、メッセージIDの見出しを除く範囲について配列で取得するところまでを進めました。

const hasId = () => {
  const sheet = SpreadsheetApp.getActiveSheet();
  const data = sheet.getRange(2, 3, sheet.getLastRow() - 1).getValues();
  console.log(data);
}

このスクリプトの結果がこちら。

シートの列範囲のデータをログ出力

このように、二次元配列になっちゃうんです。

今回は、この二次元配列に特定のIDが含まれているかどうかを判定する方法をお伝えしていきます。

flatメソッドで一次元にする

まず、二次元配列のままでは扱いづらいので、「一次元化」しちゃいましょう。

flatメソッドを使うと、配列の深さを揃えることができます。

書式はこちらです。

Arrayオブジェクト.flat(深さ)

深さを整数で与えると、Arrayオブジェクトをその深さにフラット化して揃えてくれるのです。省略時は1となります。

今回は一次元化したいので、深さは1。省略してOKですね。

ということで、以下のようなスクリプトを作成しました。

const hasId = () => {
  const sheet = SpreadsheetApp.getActiveSheet();
  const data = sheet.getRange(2, 3, sheet.getLastRow() - 1).getValues();
  console.log(data.flat());
}

取得した配列をflatメソッドで深さ1に揃えるのです。

結果はこちら。

GASで配列を一次元にフラット化する

ちゃんと一次元配列にフラット化されていますね!

includesメソッドで存在するかどうかを判定する

続いて、この一次元化された配列の中に、特定のIDが含まれているかどうかを判定します。

その場合は、以下のincludesメソッドを使うことができます。

Arrayオブジェクト.includes(要素)

Arrayオブジェクトに要素が含まれていればtrue、そうでなければfalseを返します。

では、以下のスクリプトでテストしてみましょう。

const hasId = () => {
  const sheet = SpreadsheetApp.getActiveSheet();
  const data = sheet.getRange(2, 3, sheet.getLastRow() - 1).getValues();
  const id = '172090bddef1e273';
  console.log(data.flat().includes(id));
}

フラット化された配列に対してincludesメソッドを使って「’172090bddef1e273’」が含まれているかを判定します。

結果はこちらです。

GASで配列に要素が含まれているかを判定する

今回は、範囲に該当のデータが含まれているのでtrueと出力されました。

対象範囲に存在しないデータもチェックしてみてください。

まとめ

以上、GASで二次元配列に特定の要素があるかを判定する方法をお伝えしました。

  • flatメソッドで、二次元配列を一次元にフラット化する
  • inludesメソッドで、配列内に要素があるか判定する

組み合わせてよく使うと思いますので、ぜひマスターしましょうね。

次回は、今回までの内容を踏まえてメールからデータを抽出するツールを完成させていきたいと思います。

GASでフォーム送信メールからデータを取得してスプレッドシートに蓄積するツールの完全版
Google Apps Scriptでフォーム送信メールからデータを取得してスプレッドシートに蓄積するツールを作成しています。これまでお伝えしてきた内容を組み合わせてツールの完成をさせていきます。

どうぞお楽しみに!

連載目次:GASで正規表現を使ってデータを抽出&登録

正規表現を使うとGoogle Apps ScriptでメールやHTMLドキュメントからデータを抽出することができます。本シリーズでは、フォーム送信の通知メールからデータを抽出してスプレッドシートに追加するツールの作成を目指します。
  1. Google Apps Scriptで正規表現を使って必要な情報を抽出する最も簡単なスクリプト
  2. Google Apps Scriptで正規表現でマッチした文字列から不要な部分を削除する
  3. Google Apps ScriptでGmailの受信メールから正規表現でデータを抽出する
  4. Google Apps Scriptでメールから正規表現で抽出したデータをスプレッドシートに蓄積する方法
  5. Google Apps ScriptでGmailのメッセージIDを取得する方法
  6. Google Apps Scriptでスプレッドシートの列データを配列として取得する方法
  7. GASで二次元配列に特定の要素が含まれているかを判定する方法
  8. GASでフォーム送信メールからデータを取得してスプレッドシートに蓄積するツールの完全版

GASでゲッターを使って簡単なプロパティを作成する方法

$
0
0
get

photo credit: CityofStPete Cardio Tennis Class via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

「初心者でもわかるGoogle Apps Scriptのクラス」についてシリーズでお伝えしています。

前回の記事はこちら。

Google Apps Scriptでスプレッドシートのデータの1行分を表すクラスを作る方法
「初心者でもわかるGoogle Apps Scriptのクラスの作り方」をテーマにシリーズをお送りしています。今回は、GASでスプレッドシートのデータの1行分を表すクラスを作る方法です。

データの1行分を表すクラスを作る方法をお伝えしました。

さて、クラスで定義したプロパティですが、「ゲッター」と呼ばれる別の方法で作ることができます。

ということで今回は、GASでゲッターを使って簡単なプロパティを作成する方法をお伝えします。

では、行ってみましょう!

前回のおさらい

まず、前回のおさらいです。

以下のようなスプレッドシートがあるとします。

スプレッドシートのテーブル

各行のデータをもとにしたインスタンスを生成するクラスPersonを作りました。

こちらです。

function myFunction() {
  
  class Person {
    constructor(record) {
      [this.id, this.name, this.gender, this.birthday] = record;
    }
    
    greet() {
      Browser.msgBox(this.name + "です、こんにちは!");
    }
  }
  
  const values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
  const p = new Person(values[1]);
  console.log(p)

  const q = new Person(values[2]);
  console.log(q);
  
}

プロパティとしては、スプレッドシートからそのままid、name、gender、birthdayを持たせました。

今回は、新たに別の方法でプロパティを追加してみたいと思います。

プロパティの値から別のプロパティを作る

例えば、男性かどうかをブール値で返すisMaleというプロパティを作りたいとします。

constructorメソッドを使用する

constructorメソッドに、genderプロパティの値を使って算出するという方法を考えることができますね。

例えば、以下のようなスクリプトです。

function myFunction() {
  
  class Person {
    constructor(record) {
      [this.id, this.name, this.gender, this.birthday] = record;
      this.isMale = (this.gender == 'male');
    }    
  }
  
  const values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
  const p = new Person(values[1]);
  console.log(p.isMale); //true
  
}

実行結果は以下のようになります。

GASのクラスで定義したisMaleプロパティの結果

values[1]はのBobさんは「male」なので、isMaleプロパティはtrueです。

元のプロパティが変更になった場合

インスタンス生成後はこれでいいのですが、万が一genderプロパティに変更があった場合はおかしくなってしまいます。

以下を実行してみましょう。

function myFunction() {
  
  class Person {
    constructor(record) {
      [this.id, this.name, this.gender, this.birthday] = record;
      this.isMale = (this.gender == 'male');
    }
  }
  
  const values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
  const p = new Person(values[1]);
  p.gender = 'female';
  console.log(p.gender, p.isMale);  
}

結果はこちら。

GASのisMaleプロパティが変更なし

そうなんです。genderプロパティを変更したのですが、isMaleプロパティはそのままになってしまいます。

なので、他のプロパティの値の結果で、変更が必要になるようなときは別の方法を考えないといけませんね。

ゲッターを定義する

そこで、別の方法としてゲッターによりプロパティを定義する方法を考えます。

ゲッターというのは、プロパティを定義しつつ、そのプロパティが呼び出されたときに関数を呼び出すことができるというものです。

get構文でプロパティを作る

ゲッターの定義には、以下のget構文を使います。

get プロパティ名(){
 //処理
 return 戻り値;
}

では、例を見てみましょう。

以下のようなものです。

function myFunction() {
  
  class Person {
    constructor(record) {
      [this.id, this.name, this.gender, this.birthday] = record;
    }
    
    get isMale() {
      return this.gender == 'male';
    }
  }
  
  const values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
  const p = new Person(values[1]);
  console.log(p.gender, p.isMale);
  p.gender = 'female';
  console.log(p.gender, p.isMale);  
  
}

isMaleプロパティは呼び出されると、get構文で定義した関数が実行され、その時の「genderプロパティがmaleかどうか」をブール値で返します。

つまり、genderプロパティと連動してくれるんですね。

実行結果はこちらです。

GASのゲッターによるプロパティ

うまく動いていますね。

ゲッターによるプロパティへの代入

ちなみに、ゲッターによるプロパティには代入はできるのでしょうか?

試してみましょう。

function myFunction() {
  
  class Person {
    constructor(record) {
      [this.id, this.name, this.gender, this.birthday] = record;
    }
    
    get isMale() {
      return this.gender == 'male';
    }
  }
  
  const values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
  const p = new Person(values[1]);
  console.log(p.gender, p.isMale);
  p.isMale = false;
  console.log(p.gender, p.isMale);
  
}

こちらを実行してみると、こうなります。

GASのゲッターによるプロパティへの上書き

エラーは出ませんが、上書きは成功しないようですね。

まとめ

以上、GASでゲッターを使って簡単なプロパティを作成する方法をお伝えしました。

他のプロパティと連動して、その内容が変更するようなプロパティはget構文によるゲッターを使うと良さそうですね。

ゲッターがあるなら「セッター」もありそうですよね…

ということで、次回はセッターの作り方についてお伝えします。

どうぞお楽しみに!

連載目次:初心者向けGoogle Apps Scriptでクラスを作ろう

使いどころやそのメリットが分かりづらいGASの「クラス」。本シリーズでは、初心者でもわかるように「これでもか!」とじっくり着実にクラスとそのメリットについて解説をしていきます。
  1. 【初心者向け】Google Apps Scriptでクラスを理解するためのオブジェクトの基礎知識
  2. 初心者でもできるGoogle Apps Scriptで最も簡単なクラスを作る方法
  3. Google Apps Scriptでクラスに最も簡単なプロパティを追加する方法
  4. Google Apps Scriptでクラスに最も簡単なメソッドを追加する方法
  5. Google Apps Scriptでスプレッドシートのデータの1行分を表すクラスを作る方法

GASでセッターを使ってプロパティの入力に制限をかける

$
0
0

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

「初心者でもわかるGoogle Apps Scriptのクラス」についてシリーズでお伝えしています。

前回の記事はこちら。

GASでゲッターを使って簡単なプロパティを作成する方法
「初心者でもわかるGoogle Apps Scriptのクラス」についてシリーズでお伝えしています。今回は、GASでget構文によるゲッターを使って簡単なプロパティを作成する方法をお伝えします。

「ゲッター」を使って簡単なプロパティを作成する方法をお伝えしました。

さて、今回は「セッター」というものを使って、上書きを禁止するプロパティを作ってみたいと思います。

ということで、GASでセッターを使って上書き禁止のプロパティを作る方法です。

では、行ってみましょう!

前回のおさらい

まずは、おさらいからです。

スプレッドシートのデータを使っていましたが、そのスプレッドシートはこちらです。

スプレッドシートのテーブル

このデータをもとに、以下のようなクラスPersonを作りました。

function myFunction() {
  
  class Person {
    constructor(record) {
      [this.id, this.name, this.gender, this.birthday] = record;
    }
    
    get isMale() {
      return this.gender == 'male';
    }
  }
  
  const values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
  const p = new Person(values[1]);
  console.log(p.gender, p.isMale);
  p.gender = 'female';
  console.log(p.gender, p.isMale);  
  
}

前回は、get構文で、他のプロパティの値を使って算出するisMaleプロパティを作ったということですね。

「id」を上書きできないようにしたい

さて、このクラスPerson。

constructorメソッドの呼び出しで、id、name、gender、birthdayと4つのプロパティが作成されます。

これらのプロパティは、インスタンス生成後は参照することはもちろん、代入文で上書きも可能となっています。

しかし、例えばidのように、一度格納した値を上書きしたくないという性質のプロパティもありますよね。

このような場合に「セッター」を使って、上書き禁止のプロパティを作ることができます。

set構文でセッターを定義する

セッターというのは、プロパティに値の代入が行われたときに関数を呼び出すことができるというものです。

セッターを作るためには、以下のset構文を使います。

set プロパティ名(仮引数){
 //処理
}

プロパティ名で示すプロパティに代入が行われるときに、この関数が呼び出されて実行されるのです。

なお、仮引数には、代入をしようとした値が渡されます。

セッターによる上書き禁止プロパティ

例えば、以下のようにしてみましょう。

function myFunction() {
  
  class Person {
    constructor(record) {
      [this.id, this.name, this.gender, this.birthday] = record;
    }
    
    set id(newId) {
      if(this.id) throw 'idは上書きできません';
      this._id = newId;        
    }
        
    get id() {
      return this._id;
    }
  }
  
  const values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
  const p = new Person(values[1]);
  console.log(p.id);
  p.id = 'hoge';
}

実行すると、以下のようにエラー「idは上書きできません」が発生します。

GASのセッターによるエラーメッセージ

ログを見ると以下のように、「a01」とエラーメッセージが表示されました。

GASのセッターを使用時のログ

詳しく解説していきましょう。

プロパティidの初期化時

まず、19行目のインスタンス生成時でのidプロパティの代入についてです。

constructorメソッドが呼び出され5行目が実行されます。

このとき、プロパティidについてはset構文が存在していますので、そちらが呼ばれ、仮引数として代入しようとしている値「a01」が渡されます。

9行目のif文の条件式ですが、初期状態では「this.id」はundefinedですからfalseです。

ですから、そのあとの処理が実行され、新たなプロパティ「_id」に、「a01」が格納されます。

ここでプロパティ「_id」はセッター・ゲッター経由でのみアクセスが可能という意味で、アンダースコアがつけています。

プロパティidの取得

20行目で、プロパティidの取得を行っています。

このとき、プロパティidについてはget構文が用意されていますから、それが呼び出されて、「_id」の値がリターンされます。

つまり、「a01」が返されるので、それがログ表示されたわけです。

プロパティidの上書き時

その後、21行目でidプロパティを上書きしようとするとどうなるでしょうか。

再度、プロパティidについてのset構文が呼び出されます。

このとき、if文の「this.id」は1文字以上の文字列を持っており、true判定になります。

ですから、if文の処理が実行され、「idは上書きできません」のエラーがスローされるのです。

つまり、結果的にプロパティidは上書きが禁止されているという形になります。

まとめ

以上、GASのセッターを使ってプロパティの入力に制限をかける方法についてお伝えしました。

このようにセッターを使うことで、プロパティへの代入時に処理を呼び出すことができます。

上書き禁止以外の用途でも使用できると思いますので、ぜひ活用してみてください。

次回、クラスについてのノウハウについてお伝えしていきます。

どうぞお楽しみに!

連載目次:初心者向けGoogle Apps Scriptでクラスを作ろう

使いどころやそのメリットが分かりづらいGASの「クラス」。本シリーズでは、初心者でもわかるように「これでもか!」とじっくり着実にクラスとそのメリットについて解説をしていきます。
  1. 【初心者向け】Google Apps Scriptでクラスを理解するためのオブジェクトの基礎知識
  2. 初心者でもできるGoogle Apps Scriptで最も簡単なクラスを作る方法
  3. Google Apps Scriptでクラスに最も簡単なプロパティを追加する方法
  4. Google Apps Scriptでクラスに最も簡単なメソッドを追加する方法
  5. Google Apps Scriptでスプレッドシートのデータの1行分を表すクラスを作る方法

2020版ノンプログラマーのための『発信』プログラミング学習術

$
0
0
output

photo credit: www.ilmicrofono.it connect audio via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

「ノンプログラマーのためのスキルアップ研究会」は、ノンプログラマーがプログラミングをはじめとするITスキルを学び合うコミュニティです。

先日の月に一度の定例会のテーマは「発信術」。

ノンプロ研でもアウトプット、とくに教えることは、学びにおいて非常に効果的だとお伝えしてきたのですが、今回はあらためてそのあたりをまとめてお話しました。

とうことで、「2020版ノンプログラマーのための『発信』学習術」のレポートをお伝えします。

ちなみに当日の様子は以下、Togetterのツイートまとめもご覧くださいませ。

ノンプロ研定例会Vol.31「【Zoom開催】ノンプログラマーのための『発信』学習術」
ブログ「いつも隣にITのお仕事」は開始5年で120万PVまで到達しましたが、実はPVや集客以上に大きな学びや、成長の機会でもありました。その他、TwitterやFacebookなどのSNSも同様に..

では、行ってみましょう!

プログラミングで「理解する」とは?

意外と見落としがちなのですが、プログラミングが「わかった・理解した」という状態は、どういった状態を指すのかという定義があやふやである場合が多くあります。

最もよくやってしまうパターンが「動いたのでOK」となってしまうパターン。

それで満足していると、ほとんどの場合、しばらくしてから

  • 何が書いてあるのか、まったくわからない
  • なぜか動かなくなった、そして直せない

となりがちです。というか、ほとんどの場合そうなります。

コピペは絶対ダメです、何の学習にもなってません。

人間の記憶なんて、弱いのです。

その対策のためにやることは、「言語化」です。

まず、そのときわかったとしても、それを日本語で説明することは案外できなかったりします。

なので、より理解が必要です。

さらに、それを自分(または他人が)わかるように言語化して、メモを残しておけば、忘れてしまったときに見返して、思い出す助けにすることができます。

さらにさらに、それは同じケースだけでなく、いろいろなケースで再利用できるのが理想です。

なので、プログラミング学習での「理解」は以下を到達点にすべきと考えています。

  1. 言語化できる
  2. 応用できる

最適なアウトプット比率と現実

そのような理解を得るために、学習において「アウトプット」が重要というのはよく言われています。

「OUTPUT大全」という書籍では、理想のアウトプットの比率として6~7割が推奨されていました。

しかし、ノンプログラマーの独学プログラミング学習法の主なものは以下。

  • 本やネット記事を読む(写経)
  • 動画を視聴する
  • オンライン学習サービス

手を動かしたり、コンピューターのフィードバックを得る機会は多少あるものの、「言語化」の機会はほとんどないというのが現状です。

ですから、かなり意図的にアウトプットの機会を作る必要があります。

発信による「教える機会」を利用する

そこで、おすすめしているのが「発信」です。

学んだこと、目からウロコだったことを、言語化してインターネットを経由して発信をするのです。

当然、言語化をしなければ発信できませんし、相手がいること、そして見られることによる適度な緊張感により学習効果が倍増します。

さらに、何らかのフィードバックも期待できるかも知れません。

そして、それはTwitterなどのフロー型のアウトプット先と、ブログなどのストック型のアウトプット先を組み合わせることで、一石二鳥以上の効果を発揮します。

  1. Twitterなどでリアルタイムかつライトに学びを発信する
  2. ブログなどで検索性の高い情報として学びのまとめを発信する

これにより、学びの機会も増えますし、それぞれ異なる「筋肉」を鍛えることができます。

まとめ

以上、「2020版ノンプログラマーのための『発信』学習術」のレポートをお送りしました。

とにかく、学んだことを言語化してアウトプットをすることは意図的に行わなければなりません。

そして、その点においてインターネットは大いに活用できます。

フロー型→ストック型とアウトプットをすることで、より効果的なプログラミング学習をしていきましょう。

「ノンプログラマーのためのスキルアップ研究会」について

コミュニティ「ノンプログラマーのためのスキルアップ研究会」では、毎月の定例会や勉強会、Slackでのやり取りを通して、皆さんのプログラミング学習の質やモチベーションを高めるための活動をしています。 過去の活動については、以下のページをご覧ください。
コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ
コミュニティ「ノンプログラマーのためのスキルアップ研究会」(略して「ノンプロ研」)。このページはその活動レポートまとめページです。コミュニティ活動の一気読みをされたい方、ぜひご活用くださいませ。
ぜひ、皆様のご参加をお待ちしております!
コミュニティ「ノンプログラマーのためのスキルアップ研究会」についてのお知らせ #ノンプロ研
ノンプログラマーがVBA・GAS・Pythonなどのプログラミングを学ぶコミュニティ「ノンプログラマーのためのスキルアップ研究会」が絶賛活動中です!本ページはコミュニティの情報発信をしていく特集ページです。

AppSheetとは何か?そしてそれを学ぶメリットと注意すべきポイントは?

$
0
0
paper-plane

photo credit: garryknight Paper Plane via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

ノーコード・ローコードアプリ開発…ノンプログラマーにとっては、とても魅力的なサービスです。

もともと、Googleはローコードアプリ開発プラットフォームとしてApp Makerを提供していたわけですが、その提供終了を決定し、それと入れ替わるかたちでノーコードアプリ開発プラットフォームAppSheetを買収しました。

Googleによるノーコード開発のAppSheet買収でプログラマー不在でもアプリ開発が容易に | TechCrunch Japan
Googleが米国時間1月14日、ノーコードでモバイルアプリケーションを開発するプラットホーム、AppSheetの買収を発表。プログラマーがいない企業でも、アプリ開発が可能になる。

しかし、コードを一切書かずともアプリが作れる…そんな、うまい話があるのでしょうか?

そして、それによるアプリ開発は、その「働く」の価値を上げることや、将来のキャリアとして何らかのメリットをもたらすのでしょうか?

ということで、今回はAppSheetとは何か?そしてそれを学ぶメリットと注意すべきポイントは?という点についてお伝えしていきます。

では、行ってみましょう!

AppSheetとは

AppSheetトップページ

AppSheetは、ノーコードでアプリを開発できるプラットフォームです。

AppSheet : mobile apps from spreadsheets :
Make apps with no-code. AppSheet's no-code app building platform allows you to quickly build apps to collect, or connect to, data. Start building for free now.

2020年1月にGoogleにより買収され、Google Cloudの仲間入りを果たしました。

日本では、このニュースにより注目されるようになりましたが、世界ではとても多くのユーザーが使っていて、この記事の執筆時点で、すでに200万以上のアプリが開発されています。

その概要を簡単に表現すると以下のとおりです。

  • ノーコードでアプリを作成できる
  • アプリはクロスプラットフォーム、つまりPC、スマホ、タブレットから操作できる

さて、「アプリ」といってもどのようなものが作れるのでしょうか?

以下解説していきます。

どのようなアプリを作ることができるか?

AppSheetのサンプルアプリ

Sample apps」のページでサンプルアプリがたくさん用意されているので、それをざっと眺めることでどのようなアプリが作れるかがわかります。

AppSheet : mobile apps from spreadsheets : Copy and Customize Sample Apps
Make a custom business app without code. See our library of sample apps, view live demos, copy, and customize your own business app solution now.

例えば以下のようなサンプルアプリがあります。

  • Office Furniture Manegement: オフィス設備管理
  • Custom App for Client Expenses: クライアント経費のカスタムアプリ
  • Attendance App: 出席アプリ
  • Inventory Management App: 在庫管理アプリ
  • Scan and Search: スキャンと検索
  • Quote and Proposal: 見積と提案
  • Sales Lead Tracking App: セールスリード追跡アプリ
  • Safety Reporting App: 安全報告アプリ
  • Assignment Management App: 割当管理アプリ
  • Contact Manager App: 連絡先管理アプリ
  • Project Management App: プロジェクト管理アプリ
  • Equipment Inspections: 設備点検
  • Custom Checklist App: カスタムチェックリストアプリ
  • Budget App: 予算アプリ
  • Delivery Receipt: 配達レシート
  • Quote Calculator: 見積電卓
  • Webinar App: ウェビナーアプリ
  • Sales Report App: 販売レポートアプリ

皆さんが社内で行っているさまざまな業務がアプリ化できそうですね。

AppSheetによるアプリ開発の手順

さて、さまざまアプリを開発できるわけですが、AppSheetによるアプリ開発の手順をざっくりとお伝えします。

その手順は、以下のようになります。

  1. スプレッドシートなどにデータを用意→AppSheetがそれを元に自動でデータの入力・編集・閲覧などが行えるプロトタイプアプリを作成
  2. AppSheetのエディタで、アプリのプレビューをしながらデータ、UX、動作などをカスタマイズ
  3. 完成したら公開してユーザーにシェア

つまり、データを元にある程度作ってくれるのでそこをベースにスタートできるという点、そこから先はエディタで用意されているカスタマイズ機能を使用することで、ノーコードでアプリを作り込んでいけるという点が、従来のアプリ開発とは大きく異る点です。

もちろん、前述のサンプルアプリをコピーしてそこからスタートするという選択肢もあります。

AppSheetの特徴

続いて、より理解を深めるためにAppSheetの特徴について見ていきましょう。

既存のデータソースと連携

アプリはその扱うデータを保存する必要があります。

AppSheetは専用のデータ領域を持つわけではなく、以下のようなさまざまなデータソースをデータ保存場所として選択することができます。

  • Googleスプレッドシート
  • Excel(Office 365、Dropbox、Boxなど)
  • Salesforce
  • MySQLなどのデータベース

データはこれらのデータソースに置かれ、それをAppSheetで編集をするという形です。

各サービスへの認証(データにアクセスしてよいか許可すること)もAppSheetのほうで管理してくれます。

つまり、例えばスプレッドシートからもデータ閲覧や操作が可能ということです。

これは、スプレッドシートでデータを確認できるという安心&手軽さとともに、スプレッドシート関数や、GAS、または手動操作なども運用として視野に入れられるという柔軟性を生みます。

また、データベースとしてスプレッドシートやExcelがいまいちしんどくなってきたら、MySQLなどの本格的なデータベースシステムに移行することもできます。

UXは10種類以上のVIEWから選択

アプリ開発でもっとも工数が発生するといってもよい、ユーザーインターフェース

この部分は、あらかじめ用意されている10種類以上の「VIEW」を選択しカスタマイズするだけで、PC・スマホ・タブレットで操作できるUI・UXが作れてしまいます。

ここはGAS(やApp Maker)の大きな弱点でした。

HTMLやJavaScriptの知識がプラスで必要になり、かつコード量もかなり多くなりがちだったからです。

用意されていることしかできないという面もありますが、これにより大いに開発工数を削減できるのはとても大きなメリットです。

豊富な標準機能

アプリで行えるのはデータの入力や編集、フィルタやグルーピングを含めた閲覧だけではありません。

アプリには多彩な機能を搭載することができます。

例えばこちらに挙げるようなものです。

  • 写真撮影・保存
  • 電子署名、フリーハンド入力
  • メール連携
  • API連携
  • カレンダー表示
  • GPS情報連携、地図表示
  • バーコード、QRコード読み取り

これらはさすがに自作でコーディングして作成するのはほぼ無理です。これは、大きな大きなメリットです。

アカウント管理とアプリ配布

アカウント管理やアプリ配布の機能も標準で用意されています。

ユーザーの招待や管理、アプリの配布はエディタの機能で簡単に行うことができます。

アカウント管理なども、アプリ開発としてその工数を想定する必要はありません。

AppSheetのお値段は?

AppSheetの料金プラン

AppSheetの価格ですが、現在は以下のプランがあります。

  • Free: 無料。オフライン不可、サインインでの利用不可などいくつかの制限あり
  • Premium: 1アクティブユーザーあたり$5ドル/月
  • Pro: 1アクティブユーザーあたり$10ドル/月
  • Business: 非公開

練習用に使用するのであれば、Freeでも十分で、10ユーザーまで招待してアプリの開発とプレビューを行えます。

実運用で使用するのであれば、データの管理上、Premium以上の登録が必要になると思いますが、コスパは非常に良いと思います。

プランによる機能差については、以下ページをご覧ください。

AppSheet Pricing
Take as much time as you need while building your business app for free, using features from any plan level, with up to 10 users testing your app & providing fe...

ちなみに、今後G Suiteとの融合などでプランの変更があるかも知れませんので、情報更新には注意しておきましょう。

AppSheetを学ぶ上で注意すること

これまで調査する中で、AppSheetを学ぶ上で注意したほうが良い点について書いておきます。

ノーコードとはいえ学習は必要

これはAppSheetに限らずノーコード・ローコードアプリ開発全般に言えることですが、「コードが必要ない」と「学習が必要ない」は別物です。

ノーコードアプリ開発にも学習は必要です。

とくにAppSheetの場合は、前提として必要になっています。

  • データベースについての基礎知識とデータを扱うスキル
  • AppSheet関数の取得(スプレッドシート関数やExcel関数に類似)

最初に作成するアプリがうまくマッチすればラッキーパンチで目指すアプリの開発ができちゃうかも知れませんが、運が悪いと挫折するくらい奥は深いと感じてます。

英語の壁

執筆している現段階ではAppSheet自体、ドキュメントそのすべてが英語での提供のみとなっています。

また、ドキュメントやブログ、YouTube動画のチュートリアルなどもありますが、すべて英語で提供されています。

AppSheetのドキュメントは現時点であまり体系だっていませんので、執筆時点の今の段階では、知りたいことやわからないことを調べるのは、なかなか大変かも知れません。

そのあたりは、微力ながら当ブログでサポートしていければと思います。

妥協は必要

AppSheetがなぜノーコードで開発ができるかというと、できることを大きく制限しているからです。

なので、AppSheetはできないことがあるという前提で活用すべきと思います。

特に、「見栄え」についてはなかなか自由に作れないはずです。

その場合は、あきらめて既存のUI(といっても素晴らしいものが提供されていますが)で妥協するか、スプレッドシートの機能などに任せるかといった柔軟な判断が必要と考えます。

まとめ

以上、AppSheetとは何か、またその学ぶメリットと注意すべきポイントについてお伝えしました。

次回から、AppSheetのもっとも簡単なチュートリアルをはじめたいと思います。

どうぞお楽しみに!


ノーコード開発プラットフォームAppSheetに無料でサインアップしよう

$
0
0
signup

photo credit: stockcatalog google via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。本シリーズでは、超初心者向けのはじめてのアプリ作りについてお伝えしています。

前回の記事はこちら!

AppSheetとは何か?そしてそれを学ぶメリットと注意すべきポイントは?
ノーコードアプリ開発はノンプログラマーにとっては、とても魅力的なサービスです。今回はGoogleが提供する「AppSheet」についてその概要とともに、その学ぶメリットと注意すべきポイントについてお伝えします。

AppSheetとは何か、またそのメリットと注意点についてお伝えしました。

今回からいよいよAppSheetに触っていきますよ。

まずは、AppSheetに無料でのサインアップをしていきましょう。

では、行ってみましょう!

AppSheetのトップページにアクセスする

では、早速AppSheetのトップページにアクセスしてみましょう。

以下からどうぞ。

AppSheet : mobile apps from spreadsheets :
Make apps with no-code. AppSheet's no-code app building platform allows you to quickly build apps to collect, or connect to, data. Start building for free now.

こちらがトップページです。

AppSheetのトップページ

せっかくなので、少しトップページからいくつかの情報を拾っていきましょう。

まず、一番上のオレンジの帯ですが、以下のように書いてあります。

AppSheet is now part of Google Cloud

そうなんです。買収により、Google Cloudの一部になりました。

G SuiteもGoogle Cloudの一部ですよね。

ただ、今現時点では、G Suiteの中にAppSheetが含まれたみたいなことはなく、別サービスなので、別途サインアップ作業が必要になります。

また、メインタイトルの部分ですが、以下のように書いてあります。

The intelligent no-code platform
Create apps to transform your workplace.

インテリジェントなノーコードプラットフォームで、職場を変革するアプリを作成するものだということですね。

「ノーコード」なので、某App Makerのようにコードの入力はないということです。

また、「your workspace」向けということですから、社内で使う業務アプリを想定しているということがわかります。

アプリにも色々とありますが、業務アプリではないアプリ開発には向いていないかも知れません。

他クラウドストレージのアカウントでサインアップする

では、サインアップを進めていきましょう。

「Start for free」とあるように、AppSheetは無料から使用することができます。

ではボタンをクリックして、無料のサインアップを進めていきましょう。

AppSheetの「Start for free」をクリック

すると、以下のような「Start with your data」というページが開きます。

AppSheetをデータからはじめる

あまり見慣れない感じのページなので、ちょっと構えてしまうかも知れません。

ページの情報を読んでみましょう。

Start with your data
AppSheet connects through your favorite cloud storage provider. Click on one to get started. You can add databases and other data sources after you create your account.

AppSheetは、お気に入りのクラウドストレージを介して接続するもので、ユーザーが使用しているお気に入りのクラウドストレージのアカウントを使ってサインアップするものですよ、と。

そして、アプリを開発するときには、そのクラウドサービス上にデータを置くんですよ、ということです。

そのクラウドストレージとして選択できるものは、以下があります。

  • Google Sheets and Forms
  • Excel on Office365
  • Excel on Dropbox
  • Smartsheet
  • Salesforce
  • Excel on Box

「Google Sheets and Forms」という名称がわかりづらいですが、つまりGoogleアカウント(G Suiteももちろん可)です。

この場合、データ保管場所をGoogleスプレッドシート(とドライブ)としたアプリを作ることになります。

(フォームからアプリを作ることもできるので「and Forms」となっているのかな?と予想してます)。

しかし、Googleだけではないんですね。

Office365上のExcelも使用できますし、今後Google以外のクラウドストレージを使えなくするということはないと発表されています。

Googleによるノーコード開発のAppSheet買収でプログラマー不在でもアプリ開発が容易に | TechCrunch Japan
Googleが米国時間1月14日、ノーコードでモバイルアプリケーションを開発するプラットホーム、AppSheetの買収を発表。プログラマーがいない企業でも、アプリ開発が可能になる。

また、これら別々のクラウドストレージ上のデータを組み合わせたアプリを作ることもできますし、Cloud SQLをはじめ本格的なRDBMSにデータを置くようにすることもできます。

Googleアカウントでサインアップ

ここでは、Googleアカウントでサインアップを進めていきましょう。

では、「Google Sheets and Forms」をクリックします。

AppSheetでスプレッドシートを選択する

次にGoogleアカウントの認証の手順になります。

使用するGoogleアカウントを選択します。

AppSheetに使用するGoogleアカウントを選択

続く画面で、ドライブのすべてのファイルと、スプレッドシートへのアクセスをAppSheetに「許可」します。

AppSheetにアクセスを許可する

これで、サインアップが完了し、以下のような画面が開きます。

AppSheetサインアップ後のページ

ここからドライブ内に存在するスプレッドシートをもとに、アプリ開発を開始することができますが、そこは次回の記事でお伝えしましょう。

なお、AppSheetからログアウトした場合は、以降はGoogleアカウントで再ログインすることができます。

まとめ

以上、ノーコード開発プラットフォームAppSheetに無料でサインアップするまでをお伝えしました。

次回、今回の続きから、既存のスプレッドシートをもとに自動でアプリを作ってみます、

どうぞお楽しみに!

連載目次:超初心者向け!はじめてのApp Sheetでアプリ作り

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。コードを一切書かずにアプリが作れる…ノンプログラマー的にはそんな素晴らしい技術は使わない手はないでしょう!本シリーズでは、その第一歩として超初心者向けのチュートリアルということで、AppSheetによるアプリ開発を体験していきます!
  1. AppSheetとは何か?そしてそれを学ぶメリットと注意すべきポイントは?

AppSheetでスプレッドシートのデータから自動でプロトタイプアプリを作る手順

$
0
0

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。本シリーズでは、超初心者向けのはじめてのアプリ作りについてお伝えしています。

前回の記事はこちら。

ノーコード開発プラットフォームAppSheetに無料でサインアップしよう
ノーコードアプリ開発プラットフォーム「AppSheet」による超初心者向けのはじめてのアプリ作りをお伝えしています。今回はAppSheetに無料でのサインアップをするところまでの手順をお伝えします。

AppSheetに無料でサインアップするところまでを進めました。

今回はいよいよスプレッドシートのデータをもとにアプリを作ってみたいと思います。

AppSheetでスプレッドシートのデータから自動でプロトタイプアプリを作る手順です。

では、行ってみましょう!

アプリの元データとなるスプレッドシートを選ぶ

Quick Startからはじめる

前回、Googleアカウントを使ってAppSheetのサインアップを行いました。

すると、AppSheetのログイン後の画面は、以下のようになります。

AppSheetサインアップ後のページ

「Quick Start」に何やら色々と並んでいますね…

実はこれ、Googleアカウントで既に作成済みのスプレッドシートです。

AppSheetのアプリ開発は、すでにデータのあるスプレッドシートや、質問が作られているフォームから、自動でプロトタイプを作るところからはじめることができます。

そこで、その題材となるスプレッドシートを選ぶのが、その第一歩となるのですが、AppSheetが、「このスプレッドシートをアプリ化したらいいんじゃね?」というおすすめのものが「Quick Start」に並んでいるのです。

なお、Quick Startに目当てのスプレッドシートがなければ、検索欄に入力して、対象のスプレッドシートを絞り込むことができます。

AppSheetでスプレッドシートを検索する

題材とするスプレッドシートについて

ここで題材とするスプレッドシートですが、以下の「従業員データ」を使います。

スプレッドシート「従業員データ」

従業員について以下のようなデータを記録しているスプレッドシートですね。

  • Name: 名前
  • Email: メールアドレス
  • HireDate: 入社日
  • Active: 在籍しているかどうか

ちなみに、以下にリンク貼っておきます。閲覧可にしていますので、データの入力が面倒であればコピーして使ってください。

Google スプレッドシート: ログイン
Google スプレッドシートには、無料の Google アカウント(個人ユーザー向け)または G Suite アカウント(ビジネス ユーザー向け)でアクセスできます。

スプレッドシートから自動でアプリ作成

ということで、AppSheetのQuick Startから「従業員データ」を選択して進めてみましょう。

AppSheetのデータとして「従業員データ」を選択する

少し待つと…

以下のような画面が現れます。

AppSheetのプロトタイプアプリ

見慣れない画面なので、すこしキョドるかも知れませんが、これはAppSheetの「Editor」、アプリを作成するための編集画面となります。

もう既にプロトタイプのアプリが作成されたのですが、わかりますか?

スマホ版のプレビューを見る

右側のエリアをご覧ください。

「Mobile」つまりスマホで見たときのプレビューなのですが、元となっていたスプレッドシート「従業員データ」のデータっぽいやつが並んでいるように見えますね。

AppSheetのMobileのスタート画面のプレビュー

それぞれのデータには、編集ボタンとメールボタンが用意されています。

また画面内には、その他以下のような要素も確認できます。

  • ハンバーガーメニューボタン
  • 検索ボタン
  • 更新ボタン
  • 新規追加「+」ボタン
  • 「シート1」ボタンと「Calendar」ボタン

タブレット版のプレビューを見る

右上の「Tablet」のアイコンをクリックすると、タブレットで表示したときのプレビュー画面に切り替わります。

同じ内容を表示する画面で、画面が大きくなりましたね。

AppSheetのTabletのプレビュー

ブラウザ版のプレビューを見る

さらに、右上の「Open in tab」をクリックすると…

AppSheetでOpen in tabをクリック

別タブで大きな画面での表示に切り替わります。

つまり、これはPCでブラウザで使用するときのプレビューになるわけですね。

AppSheetのブラウザ版のプレビュー
つまり、モバイル・タブレット・ブラウザと3つのプレビューを確認しながら、エディタでプロトタイプアプリの調整ができるんですね。

まとめ

以上、AppSheetでスプレッドシートのデータから自動でプロトタイプアプリを作る手順をお伝えしました。

各版のプレビュー画面をざっと見ただけですが、このようなプロトタイプアプリが、スプレッドシート「従業員データ」を元に自動で作成されているのです。

すごくないですか?

作成されたプロトタイプアプリの機能について、次回より詳しく見ていきましょう。

どうぞお楽しみに!

連載目次:超初心者向け!はじめてのApp Sheetでアプリ作り

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。コードを一切書かずにアプリが作れる…ノンプログラマー的にはそんな素晴らしい技術は使わない手はないでしょう!本シリーズでは、その第一歩として超初心者向けのチュートリアルということで、AppSheetによるアプリ開発を体験していきます!
  1. AppSheetとは何か?そしてそれを学ぶメリットと注意すべきポイントは?
  2. ノーコード開発プラットフォームAppSheetに無料でサインアップしよう

ノンプログラマーのためのリモートワーク術から働き方の極意を学んだ

$
0
0
remote

photo credit: Andrew Gustar Mood lighting via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

「ノンプログラマーのためのスキルアップ研究会」は、ノンプログラマーがプログラミングをはじめとするITスキルを学び合うコミュニティです。

新型コロナウイルスの影響を受けて、世の中の「働く」に、リモートワークが急激に浸透しました。

リモートワークならではの課題などもそろそろ出始める頃…ということで、今月のノンプロ研の定例会は「ノンプログラマーのためのリモートワーク術」をテーマにお送りしました。

今回は、そのレポートをお送りします。

いやぁ…素晴らしい内容でした。

ちなみに当日の様子は以下、Togetterのツイートまとめもご覧くださいませ。

ノンプロ研定例会Vol.32「ノンプログラマーのためのリモートワーク術」
新型コロナウイルスの影響を受けて、世の中の「働く」に、リモートワークが急激に浸透しました。リモートワークならではの課題などもそろそろ出始める頃…今回は、リモートワークをテーマにそのコツやノウハウを..

では、行ってみましょう!

3ヶ月でリモートワークゼロから80%までを可能にした方法

まずは、このコロナ禍をきっかけに一気にリモートワークにシフトした、株式会社フロント・ワークスさんの事例を、情シス担当 @Knorr_CS さんから伺いました。

2月下旬、日本ではまだ危機感薄い最中ではありましたが、台湾の海外クライアントからのオフィス閉鎖時の緊急対策について強い要望があったことがきっかけ。

それまで、リモートワークは完全に非対応でしたが、それを機に本格的にシフトを決定。

  1. ネットワークセキュリティの担保
  2. ファイルサーバーへのアクセス
  3. 電話システムのクラウド化
  4. テレワーク機材の調達
  5. オンラインコミュニケーション

という山積みの課題を高速トライアル&エラーを回し、3ヶ月でリモートワーク率80%まで持っていったのは見事でした。

さまざまな工夫があったのですが、タカハシ的には以下の3つが成功のポイントだったと感じました。

クラウドファースト

以前はオフィス100%勤務であったとしても、ツール選びはクラウドファーストの考えのもと、G SuiteとSlackが完全に浸透していたという点。

今回のプロジェクトで数々のツールを新たに検討・導入したわけですが、過去の検討・導入の実績と成功体験があったことはドライブする上で有利に働いたと思います。

専務と3名の管理職が情シス担当を兼務

管理職が全員情シスを兼務するというのは、もしかしたら最速で改革を進められる体制なのでは…?と思いました。

決定すべき事案が高速で承認されつつ、現場への落とし込みも権限を持ち、IT+部門知識がある上司から落とし込めるわけです。

部門知識がなければ各部門から抵抗が出てくるし、IT知識がなければ上司自身が強く抵抗してしまうかも知れませんからね。

逆に、IT知識がない部門長を置くのは、今の時代はリスク大きい気がしますが、このコロナ禍でどれくらいの組織がそれに気づいたか…?

学習主義・走りながら考える

例えば、テレワーク機材も助成金を頼りにしていたわけですが、その手続きにあまりにも時間がかかることに気づいたら、その時点でいったんBYODに切り替えるとか、コミュニケーションツールもZoom&Slackがいまいちしっくり来ないとなったら、すぐに考え直してDiscordにトライするとか、学習主義だとそういう柔軟さが生まれますよね。

学習を重要視していない組織だと、失敗の原因を「人」に当ててしまうため行動にブレーキかかる雰囲気をつくりがち…そこで、時間とやる気を失うのはもったいないですもんね。

これからもチームとしてガンガン成長するのが見えました。

これからのフロント・ワークスさんの活躍に期待ですね!

リモートワークの会社を経営していてよく聞かれる質問

さて、それとは対照的に株式会社JAMSTOREさんは5年前からリモートワークで経営をされています。

代表取締役の松本さん(@hiroviva)から、「リモートワークの会社を経営していてよく聞かれる質問」というタイトルで、その知見とノウハウをぎゅぎゅっと共有いただきました。

全部で16の質問がありまして、すべて紹介したいのですが、そのうちタカハシのお気に入りをいくつかをピックアップしてお伝えします。

リモートワークは「サボる」のか?

これ、昨今の在宅勤務化でも話題に上がっていますよね。

「監視してないとサボるのではないか?」ということですが、JAMSTOREさんは「基本工数に収まればOK」とされているそうです。

なるほど、各人の期限と成果が明確ならば、サボるかどうかの心配も不要、そういうことなんですね。

逆に成果が不明瞭だと「勤勉に働いているか」とか「席にいつもいるか」みたいなところを評価として見ざるを得ないわけですな。

リモートワークは採用に有利か?

JAMSTOREさんの場合は、全体としてリモートワークが採用に有利に働いているように感じました。

ほぼIndeedと自社サイトだけで、コストをかけず。

リモートワークだとエリア関係なく採用できるし、プラスでシフト調整も可能だと子供がいる主婦も採用できるということで、確かに有利なことが多そうです。

特に、今はコロナ禍の経験もあり、満員電車を避けたい&移動のコスト意識も高まっていますからね。

あと、採用選考もすべてリモートで行うとのこと。そこで、リモートのリテラシー&コミュニケーションスキルをはかれると。確かに…!

雇用か?業務委託か?

これは個人的にすごく聞きたかった内容でもありました。

松本さんの回答は、メンバーと業務内容によるとのこと。つまり、両方の選択肢を柔軟に使い分けられてるわけですね。

なるほど、参考になります。

プランノーツ的にはこれまで業務委託一択だったので、雇用の選択肢を検討したいとチラっと思っております。

リモートワークは正解か?

個人的にも、経営者的にも100%よかったとおっしゃってました。

リモートワークは固定費が低く、身動きが取りやすい。

したがって、外圧に対して柔軟に変化して対応できるわけで、それは小さくても強い組織だと感じました。

「しなやかさ」とでも言うんでしょうか。

すべての業態がリモートワークできるわけではありませんが、またコロナのような出来事が起こるかもしれません。

何かあったときに身動き取れるように…というのは、どんな業態でも経営としては見るべきポイントなのではと思いました。

まとめ

以上、ノンプロ研定例会「ノンプログラマーのためのリモートワーク術」のレポートをお送りしました。

リモートワークがテーマだったのですが、「働き方」というのは経営の理念や組織の文化、強みなどと直結してますね。

あと、5年間ひとり社長をしている私個人としては「チームっていいな~」と羨ましさがいっぱいでした。

「ノンプログラマーのためのスキルアップ研究会」について

コミュニティ「ノンプログラマーのためのスキルアップ研究会」では、毎月の定例会や勉強会、Slackでのやり取りを通して、皆さんのプログラミング学習の質やモチベーションを高めるための活動をしています。 過去の活動については、以下のページをご覧ください。
コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ
コミュニティ「ノンプログラマーのためのスキルアップ研究会」(略して「ノンプロ研」)。このページはその活動レポートまとめページです。コミュニティ活動の一気読みをされたい方、ぜひご活用くださいませ。
ぜひ、皆様のご参加をお待ちしております!
コミュニティ「ノンプログラマーのためのスキルアップ研究会」についてのお知らせ #ノンプロ研
ノンプログラマーがVBA・GAS・Pythonなどのプログラミングを学ぶコミュニティ「ノンプログラマーのためのスキルアップ研究会」が絶賛活動中です!本ページはコミュニティの情報発信をしていく特集ページです。

AppSheetで自動作成されたアプリのデータ閲覧機能を眺めてみよう

$
0
0

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。本シリーズでは、超初心者向けのはじめてのアプリ作りについてお伝えしています。

前回の記事はこちら。

AppSheetでスプレッドシートのデータから自動でプロトタイプアプリを作る手順
ノーコードアプリ開発プラットフォームAppSheetによる超初心者向けのはじめてのアプリ作りについてお伝えしています。今回は、スプレッドシートのデータから自動でプロトタイプアプリを作る手順をお伝えします。

スプレッドシートのデータから自動でプロトタイプアプリを作る方法をお伝えしました。

それで、自動作成されたプロトタイプアプリ…どんな機能が追加されているんでしょうか?気になりますよね。

ということで、その自動作成されたアプリの機能について見ていきましょう。

まずは、AppSheetで自動作成されたアプリのデータ閲覧機能を見ていきましょう。

では、行ってみましょう!

前回のおさらい

前回、以下のスプレッドシート「従業員データ」をもとに自動でプロトタイプアプリを作りました。

スプレッドシート「従業員データ」

今回は、スプレッドシートのデータがアプリに反映されているようなので、どのような閲覧ができるのか見ていきましょう。

AppSheetの「View」とdeck view

アプリの初期画面が以下のとおりです。

AppSheetの「deck view」

データのひとつひとつが、一定の幅を持っていてリスト表示されていますね。

この表示方法を「deck view」といいます。

AppSheetでは、以下のように11種類の「View」と呼ばれる表示方法が用意されていて、この中から選択することができます。

AppSheetのView type

プロトタイプ作成時には、データを元にこれらのいくつかのViewが自動で採用されて、アプリが構築されいます。

deckやtableは一覧表示に向いていますね。galleryであれば画像つきの一覧です。

他のviewは一覧表示というよりは別の目的に使われる感じですね。

今後、もしかすると、このViewの種類は増えるかも知れません。

データの詳細を閲覧する: detail view

では、「Bob」のデータの部分をクリックしてみましょう。

AppSheetのプレビューでデータをクリック

すると、Bobさんのデータの詳細を見ることができるページに遷移します。

Viewでいうと「detail view」ですね。これは個別のデータを閲覧するのに適したViewです。

スプレッドシートにあった、Name、Email、HireDate、Activeのそれぞれの列のデータが文字列、日付、Yes/Noなど適した表示がされています。

左上の「戻る」アイコンまたは、下部のナビゲーションボタンの「シート1」をクリックしましょう。

AppSheetのデータのdetail view

すると元のdeck viewに戻ることができます。

データの検索

続いて、右上の虫眼鏡のアイコン「検索」ボタンをクリックしてみましょう。

AppSheetで検索アイコンをクリック

検索窓が表示されますので、そこにカーソルを置いて「B」などと入力してみてください。

すると、deck viewのリストが絞り込まれて、ヒットしたデータのみが表示されます。

検索ワードを入力して絞り込み

プロトタイプは検索ワードによる絞り込みも標準装備です。

カレンダー表示: calendar view

次にもう一つ、ナビゲーションボタン「Calendar」をクリックしてみましょう。

AppSheetでCalendarをクリック

すると、以下のようなカレンダー表示、その名もcalendar viewによる表示になります。

おそらく、従業員データに日付型があったので、AppSheetがそれに合わせたViewも作ってくれたのでしょう。

データをクリックしてみます。

AppSheetのCalendar View

すると、そこからそのデータのdetail viewを見ることができます。

AppSheetでcalendarからdetailへ

calnedar viewの上部の「week」をクリックすると、以下のように週表示も可能です。

AppSheetでCalendar Viewをweek表示

「day」をクリックすれば日表示もできます。

イベントの日程を管理するとか、Googleカレンダーとの連携をするとかもできそうですね。

まとめ

以上、AppSheetで自動作成されたアプリのデータ閲覧機能を眺めてきました。

単純なデータシートですが、それを解析していくつかのviewを組み合わせてプロトタイプアプリができていることがわかりますね。

さて、次回はデータの編集について見ていきましょう。

どうぞお楽しみに!

連載目次:超初心者向け!はじめてのApp Sheetでアプリ作り

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。コードを一切書かずにアプリが作れる…ノンプログラマー的にはそんな素晴らしい技術は使わない手はないでしょう!本シリーズでは、その第一歩として超初心者向けのチュートリアルということで、AppSheetによるアプリ開発を体験していきます!
  1. AppSheetとは何か?そしてそれを学ぶメリットと注意すべきポイントは?
  2. ノーコード開発プラットフォームAppSheetに無料でサインアップしよう
  3. AppSheetでスプレッドシートのデータから自動でプロトタイプアプリを作る手順

AppSheetで自動作成されたアプリのデータ追加&編集機能を使ってみよう

$
0
0

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。本シリーズでは、超初心者向けのはじめてのアプリ作りについてお伝えしています。

前回の記事はこちらです。

AppSheetで自動作成されたアプリのデータ閲覧機能を眺めてみよう
Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。超初心者向けのアプリ作りについてお伝えしています。今回は、AppSheetで自動作成されたアプリのデータ閲覧機能を見ていきましょう。

AppSheetでスプレッドシートのデータをもとに自動作成されたアプリの閲覧機能について確認してきました。

このプロトタイプアプリ、もちろんデータの閲覧だけでなく、データの追加やデータの編集の機能も追加されています。

ということで、今回はAppSheetで自動作成されたアプリのデータ追加&編集機能を見ていきましょう。

では、行ってみましょう!

これまでのおさらい

前々回ですが、以下のスプレッドシート「従業員データ」をもとに、AppSheetでプロトタイプアプリを自動作成しました。

スプレッドシート「従業員データ」

前回、このシートを元に、deck viewやcalendar viewの画面が生成されていて、そのデータの閲覧や検索ができること、また詳細情報をdetail viewで確認できることなどをお伝えしました。

今回は、プロトタイプアプリのデータの追加と編集の機能について見ていきましょう。

データの追加

AppSheetのアプリでデータを追加する

では、まずはデータの追加から。

「シート1」のdeck viewには、いかにもデータが追加できそうな「+」ボタンが既に用意されています。

これをクリックしてみましょう。

AppSheetで「+」ボタンをクリック

すると、以下のような「Form view」による入力画面に遷移して、各データの入力が可能です。

ちゃんと、NameやEmailならテキスト入力、HireDateなら日付入力、Activeなら「Y/N」ボタン入力と、データによって入力方法も別々の手法が採用されています。優秀。

では、各項目を適当に入力して「Save」をクリックしましょう。

AppSheetでForm viewによるデータ追加

ちなみに、HireDateですがクリックして入力しようとすると、以下のようにカレンダー入力が可能です。優秀。

AppSheetで日付をカレンダー入力

データ追加のスプレッドシートへの反映

「Save」ボタンをクリックすると、以下のように「シート1」のdeck viewに入力したデータが追加されます。

そして、右上の「更新」アイコンにバッジがつきます。

AppSheetでデータ追加の更新中

少し待つと「更新」アイコンのバッジが消えます。

どうやら、どこかのデータ保管先への更新を行っていた様子…

AppSheetのデータ追加の更新完了
それで、そのデータ保管先がどこか?といいますと、データソースとして使用したスプレッドシートになります。

「シート1」に入力したデータが追加されていることがわかります。

AppSheetからスプレッドシートにデータを追加

つまり、スプレッドシートから作成したAppSheetアプリのデータベースとして、そのスプレッドシートを使用するわけですね。

データの編集

AppSheetのアプリでデータを編集する

では、続いて既にあるデータを編集して変更してみましょう。

「Bob」さんのデータの詳細、つまりdetail viewを開いて、以下の「編集」ボタンをクリックします。

AppSheetで編集ボタンをクリック

すると、その情報が入っている状態で、Form viewが開きました。

この編集ボタンもAppSheetによって自動で追加されますし、deck viewの編集アイコンからもForm viewに入れるようになっています。まじ優秀。

この画面で各データを編集できますので、適当に変更して「Save」をします。

AppSheetでデータを編集

ちなみに、「Name」は変更できませんね。

このNameですが、カラムの設定で「KEY」とされているので編集不可になります。

KEYというのは、そのデータを一意に識別するために使いますよという意味で、これを変更すると識別できなくなっちゃうので変更できないのです。

このあたりは、またおいおい知る機会が出てきますので、その際にまた確認しましょう。

データ編集のスプレッドシートへの反映

さて、「Save」をしてからしばらくは以下のように更新アイコンにバッジが表示されます。

AppSheetでデータ編集の更新中

こちらもしばらくするとバッジが消え、変更処理が完了した様子。

AppSheetのデータ追加の編集完了

データソースとなっているスプレッドシートを見ると、「シート1」のデータがきちんと変更されています。

AppSheetからスプレッドシートにデータを編集

スプレッドシートのデータを直接変更する

さて、ではこのアプリのデータなのですが、スプレッドシートを直接変更したらどうなるでしょうか?

例えば、以下のようにEmail、HireDate、Activeを編集しちゃいましょう。

スプレッドシートからAppSheetのデータを変更

AppSheetのエディタに戻ります。

この時点では特に変更はないのですが、「更新」アイコンをクリックしてみましょう。

すると、以下のようにデータが変更されるのです。

スプレッドシートからAppSheetのデータを変更

つまり、AppSheetアプリのデータは、データソースのスプレッドシートからでも普通に変更が可能ということを表しています。

てことは、AppSheetの運用を想定した場合、なにか問題があったら、スプレッドシートの手運用もオプションとして使えるということなんですね。

この特性は、運用の柔軟性が確保されていいな~と思っています。

まとめ

以上、AppSheetで自動作成されたアプリのデータ追加&編集機能についてお伝えしてきました。

さてお気づきとは思いますが、前回と今回、データの閲覧、検索、詳細、追加、編集と見てきましたが、これらの機能はすべて自動で作られています。

まだ、何の手も加えていません…!

そしてさらに自動で追加されている機能があります。

次回は、そのひとつである「メニュー」関連の機能について見ていきましょう。

どうぞお楽しみに!

連載目次:超初心者向け!はじめてのApp Sheetでアプリ作り

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。コードを一切書かずにアプリが作れる…ノンプログラマー的にはそんな素晴らしい技術は使わない手はないでしょう!本シリーズでは、その第一歩として超初心者向けのチュートリアルということで、AppSheetによるアプリ開発を体験していきます!
  1. AppSheetとは何か?そしてそれを学ぶメリットと注意すべきポイントは?
  2. ノーコード開発プラットフォームAppSheetに無料でサインアップしよう
  3. AppSheetでスプレッドシートのデータから自動でプロトタイプアプリを作る手順
  4. AppSheetで自動作成されたアプリのデータ閲覧機能を眺めてみよう

AppSheetで自動作成されたプロトタイプアプリのメニューを眺めてみよう

$
0
0
hamburger

photo credit: Thomas Hawk Four Seasons Punta Mita via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。本シリーズでは、超初心者向けのはじめてのアプリ作りについてお伝えしています。

前回の記事はこちら。

AppSheetで自動作成されたアプリのデータ追加&編集機能を使ってみよう
Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。超初心者向けのはじめてのアプリ作りについてお伝えしています。今回はAppSheetで自動作成されたアプリのデータ追加&編集機能を見ていきましょう。

AppSheetで自動作成したプロトタイプアプリのデータ追加&編集機能がどういったものかを見ていきました。

さて、データの閲覧、詳細、閲覧、追加、編集とさまざまな機能がありましたが、これ以外にも自動で搭載されている機能があります。

アプリ画面の左上の「メニュー」です。

ということで、今回はAppSheetが自動で作成してくれたプロトタイプアプリのメニューについてお伝えします。

では、行ってみましょう!

AppSheetによるメニューの内容

AppSheetで作成したプロトタイプアプリのメニューを見ていきましょう。

ちなみに、このアプリ、以前スプレッドシートから自動生成してから、エディタでは一切何の手も加えておりません。

なので、現時点ではすべて自動で搭載されている機能ということになります。

では、左上のメニューアイコンをクリックします。

AppSheetのメニューアイコン

すると、以下のような画面が開きます。

AppSheetのメニュー構成

主に以下のような構成ですね。

  • アイコンとタイトル
  • メニュー
    • Assistant
    • Share
    • App Gallery
  • アカウント名とLOG OUT

では、いくつかのメニューについて見ていきましょう。

Assistantによる音声入力

まず、気になるのがマイクアイコンの「Assistant」です。

クリックしてみましょう。

AppSheetのメニューでAssistantを選択

クリックすると、マイクによる音声入力が可能となります。

以下、試しに入力した結果です。

日本語で「ボブ」と読み取られてしまったので、検索結果が何もヒットしていませんが…

AppSheetの音声入力の結果

ただ、この欄は手入力も可能なので試しに「Bob」と入力すると、以下のように検索結果が表示されます。

AppSheetのAssistantからの検索結果

音声入力によるアプリ全体からの検索みたいなことができそうですね。

Aboutでアプリ情報を表示する

続いて、メニューの「About」をクリックしてみましょう。

AppSheetのメニューからAboutを選択

「About」のページには、以下のようにアプリの基本情報と「OK」ボタン。

あと、その他のいくつかのリンクがあります。

AppSheetのAboutページ

アプリの基本情報は、デフォルトの内容が入っていますが、エディタの「Info」→「Properties」→「APP PROPERTIES」で編集可能のようです。

「OK」ボタンを押すともとの画面に戻ります。

では、その他のリンクできる項目を見ていきましょう。

AppSheetのTerms

「Terms」をクリックすると、別タブで以下のような画面が開きます。

アプリの利用条件のようですね。

AppSheetのTerms

「App Creator’s Terms of use」は「Info」→「Properties」→「INFROMATION FOR APP USERS」で編集できるようです。

画面外になってしまっていますが、スクロールするとAppSheet自体の利用条件が記載されています。

AppSheetのPrivacy policy

「Privacy policy」をクリックすると、以下の画面が別タブで開きます。

アプリのプライバシーポリシーですね。

AppSheetのPrivacy Policy

ほぼ、「Terms」と同じで、こちらも「App Creator’s Privacy Policy」は「Info」→「Properties」→「INFROMATION FOR APP USERS」で編集でき、スクロールするとAppSheet自体のプライバシーポリシーが記載されています。

AppSheetのLicenses

「Licenses」をクリックすると、別タブで以下のような画面が開きます。

AppSheetのLicenses

このページはアプリに限らず共通の内容のようですね。

Shareでアプリを共有する

ではメニューページに戻って「Share」をクリックしてみます。

AppSheetでShareを選択

すると、以下のようにメーラーが立ち上がり、このアプリのシェアをするメールが作成されますね。

AppSheetからメーラーが立ち上がる

ここから簡単にアプリの共有ができるようです。Gmailが開くといいのですが…

ただ、権限的にアプリの開発者だけしかこの動作はできないのかも知れませんが、ここは未確認です。

AppSheetのApp Gallery

プレビューでは「App Gallery」は表示はされていますが、クリックはできません。

これは、AppSheetのスマホアプリを使用しているときに、自分が使用できるアプリ一覧を表示するものですね。

これについては、また別の機会に紹介できると思います。

まとめ

以上、AppSheetが自動で作成してくれたプロトタイプアプリのメニューについてお伝えしました。

まず、Assistant。これが何の開発もせずにデフォルトで使えるのはすごいです。

そして、About。地味ではありますが、アプリの必要情報を表示でき、内容を設定するだけです。

アプリ開発としてはないがしろになりそうな部分なので、ありがたいはず。

次回、デプロイの手順について見ていきます。

どうぞお楽しみに!

連載目次:超初心者向け!はじめてのApp Sheetでアプリ作り

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。コードを一切書かずにアプリが作れる…ノンプログラマー的にはそんな素晴らしい技術は使わない手はないでしょう!本シリーズでは、その第一歩として超初心者向けのチュートリアルということで、AppSheetによるアプリ開発を体験していきます!
  1. AppSheetとは何か?そしてそれを学ぶメリットと注意すべきポイントは?
  2. ノーコード開発プラットフォームAppSheetに無料でサインアップしよう
  3. AppSheetでスプレッドシートのデータから自動でプロトタイプアプリを作る手順
  4. AppSheetで自動作成されたアプリのデータ閲覧機能を眺めてみよう
  5. AppSheetで自動作成されたアプリのデータ追加&編集機能を使ってみよう

AppSheetで無料で作成したアプリを初めてデプロイする手順

$
0
0
check-deploy

photo credit: PEO, Assembled Chemical Weapons Alternatives Blue Grass Chemical Agent-Destruction Pilot Plant Explosive Containment Room via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。本シリーズでは、超初心者向けのはじめてのアプリ作りについてお伝えしています。

前回の記事はこちらです。

AppSheetで自動作成されたプロトタイプアプリのメニューを眺めてみよう
Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」による超初心者向けのはじめてのアプリ作りをお伝えしています。今回は自動で作成されたプロトタイプアプリのメニューについて見ていきます。

スプレッドシートから作成したプロトタイプアプリのメニューに関する機能について眺めてみました。

さて、スプレッドシートから自動で作成したアプリですが、エディタからではなくスマホなどから操作するためには「デプロイ」という手順を踏む必要があります。

ということで、今回はAppSheetで無料で作成したアプリをデプロイする手順についてお伝えします。

では、行ってみましょう!

AppSheetでアプリをデプロイする

「デプロイ」とは

これまで作成してきたアプリですが、エディタのプレビューでは操作が可能ですが、スマホアプリなどから操作するには「デプロイ」という手順を踏む必要があります。

デプロイというのは「deploy」、日本語では「配置する」「配備する」「展開する」という意味です。

ニュアンス的には「公開する」みたいな意味で使われているように思います。

では、デプロイの手順について見ていきましょう。

デプロイのチェックをする

AppSheetでデプロイをするには、左側のメニューの「Not Deployed」をクリックします。

ここの表示は、デプロイされているかどうかを表すとともに、デプロイ状態を操作するための入り口でもあります。

AppSheetでNot Deployedをクリックする

続く画面で「Run deployment check」というボタンがあります。

You should run and pass this check before you use the app in a non-prototype setting

とある通り、アプリをプロトタイプではない状態にするためには、この「Run deployment check」によるチェックを実行しパスする必要があるとのこと。

つまり、AppSheetでは公開していいかどうかをチェックする機能が備わっているんですね。これは助かります。

では、ボタンをクリックしましょう。

AppSheetの「Run deployment check」をクリックする

これで、アプリをデプロイしてよいかどうかのチェックを行ってくれます。

デプロイチェックの結果について

デプロイのチェックを実行すると、以下のように項目別に「PASSED」「WARNING」「ERROR」という判定が得られます。

AppSheetのデプロイチェック

PASSEDまたはWARNING(注意ではありますが)であれば、その項目についてはデプロイの条件はクリアです。

ただし、ERRORの項目がある場合は、デプロイはできません。

今回は「Account」の「Account status」の項目のみERRORとなってしまいました。

ちなみに、チェック項目と今回の結果について、以下に列挙しますのでご参考ください。

  • Definition
    • App definition errors: PASSED
    • App definition warnings and errors: PASSED
    • Data matches expected structure: PASSED
    • App description: WARNING
  • User Interface
    • Use custom launch icon: WARNING
    • Standard menu design: PASSED
  • Security
    • Allowed updates: PASSED
    • User signin: PASSED
  • Performance
    • Data caching on server: PASSED
    • Content caching on the mobile device: PASSED
    • Launching the app when offline: WARNING
  • Account
    • Account status: ERROR

無料でアプリをデプロイするための設定

無料のプランを使用している場合、デプロイをするにはいくつかの設定を変更しなければいけません。

以下でその手順を見ていきましょう。

先ほどのデプロイチェックの結果ですが、ERRORとなっていた「Account status」の項目についてクリックすると展開ができます。

AppSheetのAccount statusのERROR

Invalid subscription plan: 従業員データ-1490492: User signin not allowed with the FREE plan, 従業員データ-1490492: Offline access not allowed with the FREE planMORE INFO

とあります。

つまり、こういうことですね。

  • 無料プランではユーザーサインインは許可されていません
  • 無料プランではオフラインアクセスは許可されていません

では、それぞれ設定していきましょう。

サインインなしで利用できるように設定する

まず、サインインなしで利用できるように設定していきます。

左側のメニュー「Security」をクリックしましょう。タブ「Require Sign-In」が選択されていると思います。

ここは、その名の通り、アプリのセキュリティに関するもののうち、サインインの要求について設定するものですね。

AppSheetのRequire Sign-Inの設定を開く

ここで、以下のように設定します。

AppSheetのRequire Sign-Inの設定

  • Require user signin?: OFF
  • Yes, the data in this app is public: ON
  • Yes, I am authorized to set up an insecure app: ON

つまり、無料プランでデプロイする場合、ユーザーがサインインなしでアプリを使用できちゃうというわけですね。

それに付随して、アプリのデータがパブリックに公開されること、「安全でないアプリ」をセットアップする権限があることを承認する必要があります。

オフラインアクセスをできないように設定

続いて、もう一つ、オフラインアクセスができないように設定をしていきます。

左側のメニューから「Behavior」→「Offline/Sync」タブと選択し、さらに「OFFLINE USE」というエリアをクリックして展開します。

Behaviorというのは「振る舞い」という意味でアプリの動作に関する設定をする部分ですね。そのうち、オフラインに関しての設定をしていきます。

AppSheetでBehaviorのOffline/Sync設定を開く

ここで「The app can start when offline」という設定を「OFF」にします。

つまり、オフライン時にアプリを起動できないようにするというわけですね。無料プランの場合、オフラインで使用できるアプリをデプロイできません。

AppSheetでBehaviorのOffline/Sync設定を変更する

あと、忘れてはいけないのが「SAVE」。

AppSheetでは保存をしないと変更が反映されませんので、「SAVE」からこまめに保存してくださいね。

再度デプロイチェックをする

では、再度デプロイチェックをしていきましょう。

左側メニュー「Not Deployed」から「Continue editing」を選択肢ます。

AppSheetで編集を継続する

そして、再度「Run deployment check」をクリックして、デプロイチェックを実行します。

AppSheetの「Run deployment check」をクリックする

すると、以下のように無事に「Account status」の項目も「PASSED」と判定されました。

AppSheetでDeploy checkにパスした

これでデプロイ完了です!

アプリをデプロイ状態にする

では、アプリをデプロイ状態にしましょう。

画面の最上部(「Manage」→「Deploy」という遷移でもいけます)に戻り、「Move app to depoyed state」をクリックします。

AppSheetのアプリをデプロイ状態にする

これで、アプリのデプロイが完了!

左側のメニューも「Deployed」という緑色の表記に変わりました。

デプロイ状態のAppSheetのアプリ

まとめ

以上、AppSheetで無料で作成したアプリをデプロイする手順についてお伝えしました。

アプリの公開前に、色々とチェックしてくれるのは、けっこうありがたいですね…!

では次回、スマホアプリでの導入の手順について見ていきましょう。

どうぞお楽しみに!

連載目次:超初心者向け!はじめてのApp Sheetでアプリ作り

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。コードを一切書かずにアプリが作れる…ノンプログラマー的にはそんな素晴らしい技術は使わない手はないでしょう!本シリーズでは、その第一歩として超初心者向けのチュートリアルということで、AppSheetによるアプリ開発を体験していきます!
  1. AppSheetとは何か?そしてそれを学ぶメリットと注意すべきポイントは?
  2. ノーコード開発プラットフォームAppSheetに無料でサインアップしよう
  3. AppSheetでスプレッドシートのデータから自動でプロトタイプアプリを作る手順
  4. AppSheetで自動作成されたアプリのデータ閲覧機能を眺めてみよう
  5. AppSheetで自動作成されたアプリのデータ追加&編集機能を使ってみよう
  6. AppSheetで自動作成されたプロトタイプアプリのメニューを眺めてみよう

AppSheetで無料&自動で作成したアプリをスマホにシェアしよう!

$
0
0
share

photo credit: Zach K Apples via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。本シリーズでは、超初心者向けのはじめてのアプリ作りについてお伝えしています。

前回の記事はこちら。

AppSheetで無料で作成したアプリを初めてデプロイする手順
ノーコードアプリ開発プラットフォーム「AppSheet」の超初心者向けのはじめてのアプリ作りについてお伝えしています。今回はAppSheetで無料で作成したアプリを初めてデプロイする手順をお伝えします。

アプリのデプロイをしてみました。

せっかくデプロイをしたので、スマホでも見てみたいですよね。

ということで、今回はAppSheetで無料&自動で作成したアプリをiPhoneで使ってみよう!をお届けまします。

では、行ってみましょう!

他のユーザーをアプリに招待するには

前回、アプリのデプロイが完了したわけですが、アプリに他のユーザーを招待する必要があります。

そのためには

  • 使用を許可するユーザーにメールを送る
  • URLリンクをシェアする

などの方法があります。

今回は無料プランを使ってますから、特定のユーザーだけの使用に制限はできません。

なので、より簡単なURLリンクのシェアから、スマホアプリをインストールするというフローを見ていきます。

アプリに招待するURLリンクをシェアする

URLリンクのシェアをするには、AppSheetのエディタの「Users」→「Links」タブを開きます。

ここでは、2種類のリンクがありまして、それぞれコピーして使用してもらいたいユーザーに渡してクリックしてもらえばOKです。

  • Install Link: モバイル用のリンク
  • Browser Link: PCブラウザ用のリンク

ここでは、Install Linkをコピーします。

AppSheetのインストールリンクをコピー

これをスマホに渡してブラウザアプリなどで開きます。

ちなみに、今回はiPhoneを使っていますが、Androidも対応していますよ。

AppSheetアプリをインストールする

先ほどのURLをブラウザアプリなどで開くと「従業員データ」のインストール画面が表示されますので、「Install」をタップします。

「このページは別のアプリケーションで開かれます。」では「開く」をタップします。

AppSheetアプリのインストール画面 Installをタップして別のアプリケーションで開く

AppSheetでデプロイしたアプリをスマホで使用するには、「AppSheet」アプリのインストールが必要です。

AppSheetアプリが母艦のような役割を果たすんですね。

それで、まだストアから「AppSheet」アプリをダウンロードしていない場合は、ストアに飛ぶので、インストールします。

インストールが完了したら「開く」をタップして開きます。

ストアで「AppSheet」をインストールして開く AppSheetアプリの初期画面

その後、AppSheetのアプリが開き「Sign in with」の画面でサインインを求められますが、今回は無料プランの公開アプリなので、サインインをせずにアプリを触りたい…

いったん無視してアプリを閉じます。

無料のAppSheetアプリをiPhoneで開く

もう一度、シェア用のリンクを開いた以下の画面を開いて「Install」をタップします。

すると今度はAppSheetアプリが開きます。

AppSheetアプリのインストール画面 AppSheetアプリの承諾

「Create shortcut?」と尋ねられますが、ショートカットは後でも作れるので「Not now」でOKです。

続いて「ACCEPT」をタップします。

ちなみに、これにより以下のような内容を承諾したことになります。一応読んでおくとよいですね。

  • このアプリを使うとき、アプリの作者はあなたの場所、タイムゾーン、デバイスID、利用情報を使うかもよ
  • このアプリはあなたのデバイスのローカルストレージ機能を使うかもよ
  • このアプリとAppSheetの「terms of use」や「privacy policy」を読んでね

承諾すると、以下のようにAppSheetで作成したアプリの画面が表示されました!

スマホで開いたAppSheetのアプリ

ちなみに、今回はiPhoneを使っていますが、Androidも対応していますよ。

まとめ

以上、AppSheetで無料&自動で作成したアプリをスマホにシェアする方法をお伝えしました。

リンクを配るだけなので、とても簡単です。

ただ実際は、サインインで認証とるので、メールを追加して送る方法が一般的ですかね。

さて、次回はスマホでAppSheetのアプリを操作していきたいと思います。

どうぞお楽しみに!

連載目次:超初心者向け!はじめてのApp Sheetでアプリ作り

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。コードを一切書かずにアプリが作れる…ノンプログラマー的にはそんな素晴らしい技術は使わない手はないでしょう!本シリーズでは、その第一歩として超初心者向けのチュートリアルということで、AppSheetによるアプリ開発を体験していきます!
  1. AppSheetとは何か?そしてそれを学ぶメリットと注意すべきポイントは?
  2. ノーコード開発プラットフォームAppSheetに無料でサインアップしよう
  3. AppSheetでスプレッドシートのデータから自動でプロトタイプアプリを作る手順
  4. AppSheetで自動作成されたアプリのデータ閲覧機能を眺めてみよう
  5. AppSheetで自動作成されたアプリのデータ追加&編集機能を使ってみよう
  6. AppSheetで自動作成されたプロトタイプアプリのメニューを眺めてみよう
  7. AppSheetで無料で作成したアプリを初めてデプロイする手順

スマホ版のAppSheetアプリからデータの編集と追加をする方法

$
0
0
mobile

photo credit: Johan Larsson Angry Birds Adventskalender via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。本シリーズでは、超初心者向けのはじめてのアプリ作りについてお伝えしています。

前回の記事はこちら。

AppSheetで無料&自動で作成したアプリをスマホにシェアしよう!
Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。超初心者向けのはじめてのアプリ作りについてお伝えしています。今回はAppSheetで無料&自動で作成したアプリをスマホにシェアしていきます。

AppSheetで作成したアプリをスマホにシェアする方法をお伝えしました。

今回はその続きということで、スマホ版のAppSheetアプリからデータの編集と追加をする方法についてお伝えします。

では、行ってみましょう!

これまでのおさらい

まず、どのようなアプリを作ったかをおさらいしておきましょう。

今回のアプリは、以下のスプレッドシート「従業員データ」をもとに、AppSheetで自動作成したものそのまんまです。

スプレッドシート「従業員データ」

このアプリ、スマホからはどんな操作ができるのでしょうか…?

というのを今回みていきましょう。

ちなみに、本記事ではiPhoneを例にしていますが、Androidでもほぼ同様で進められるはずです。

スマホでAppSheetアプリのデータを編集する

ではまず、スマホでAppSheetアプリのデータを編集する方法について見てみましょう。

「従業員データ」アプリを立ち上げた画面から開始します。

スプレッドシート上のデータがdeck view、つまりデッキ形式で表示されていますので、Bobさんのデータをタップしてみましょう。

AppSheetアプリでデータをタップする AppSheetアプリで編集ボタンをタップする

すると、Bobさんのデータの詳細を表示するdetail viewに入るので、「編集」ボタンをタップしてみましょう。

フォーム入力が可能なform viewが開き、そこで編集を行うことができます。

EmailやHireDate、Activeと変更してみましょう。

日付型のデータはちゃんとカレンダー入力が可能ですね。便利。

スマホでAppSheetアプリのデータを編集 スマホでAppSheetアプリのデータを保存

編集が終わったら「Save」をタップします。

画面右上の「更新」アイコンにバッジがつき、データを同期中というのがわかります。

今、スプレッドシートのデータを変更しにいっているわけですね。

スマホのAppSheetアプリでデータの同期中

同期が完了すると「更新」アイコンのバッジが消えます。

スプレッドシートを確認してみると、ちゃんと編集した内容が反映されていることがわかりますね。

スマホのAppSheetアプリでの変更が反映された

スマホでAppSheetアプリのデータを新規追加する

続いて、スマホのAppSheetでのデータ追加方法について見てみましょう。

ナビゲーションメニューの「シート1」から最初の画面に戻れます。

「+」ボタンをタップして、データの新規追加をはじめましょう。

スマホのAppSheetアプリからデータを追加する スマホのAppSheetアプリで新規データの追加

form viewが開きますので、Name、Email、HireDate、Activeを入力します。

画面の通り、Emailはちゃんとメールアドレスの形式で入力しないと「This entry is invalid」と弾かれてしまいますね。

入力制限も自動で付与されているわけです。有能。

「Save」をして保存をすると、「更新」アイコンにバッジがつきます。

スマホからのAppSheetアプリのデータ追加を同期中

しばらくすると消えて、同期が完了すると以下のようにスプレッドシートにも反映されます。

スマホのAppSheetアプリでのデータ追加が反映された

その他、検索や音声入力などの操作も、最初に触った人でも悩むことがないような易しい操作感で行えます。

残念なのは、「メール」アイコンをタップするとApple純正の「メール」を開こうとするといところ…Gmailがデフォルトになるのでしょうけど、早くお願いしたい。

まとめ

以上、スマホ版のAppSheetアプリからデータの編集と追加をする方法をお伝えしました。

AppSheetはUIもそもそもスマホ向け前提のようですし、モバイルファーストという感じしますね。

ちなみに本記事はiPhoneを使っていますが、Androidでもほぼ同様の操作で使用できるはずです。

次回は、アプリギャラリーやホーム画面への追加についてお伝えします。

どうぞお楽しみに!

連載目次:超初心者向け!はじめてのApp Sheetでアプリ作り

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。コードを一切書かずにアプリが作れる…ノンプログラマー的にはそんな素晴らしい技術は使わない手はないでしょう!本シリーズでは、その第一歩として超初心者向けのチュートリアルということで、AppSheetによるアプリ開発を体験していきます!
  1. AppSheetとは何か?そしてそれを学ぶメリットと注意すべきポイントは?
  2. ノーコード開発プラットフォームAppSheetに無料でサインアップしよう
  3. AppSheetでスプレッドシートのデータから自動でプロトタイプアプリを作る手順
  4. AppSheetで自動作成されたアプリのデータ閲覧機能を眺めてみよう
  5. AppSheetで自動作成されたアプリのデータ追加&編集機能を使ってみよう
  6. AppSheetで自動作成されたプロトタイプアプリのメニューを眺めてみよう
  7. AppSheetで無料で作成したアプリを初めてデプロイする手順
  8. AppSheetで無料&自動で作成したアプリをスマホにシェアしよう!
  9. スマホ版のAppSheetアプリからデータの編集と追加をする方法

スマホ版AppSheetのアプリギャラリーとホーム画面への追加方法

$
0
0
mobile-app

photo credit: pvn_images Mobile Purchase via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。本シリーズでは、超初心者向けのはじめてのアプリ作りについてお伝えしています。

前回の記事はこちら。

AppSheetで無料&自動で作成したアプリをスマホにシェアしよう!
Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。超初心者向けのはじめてのアプリ作りについてお伝えしています。今回はAppSheetで無料&自動で作成したアプリをスマホにシェアしていきます。

AppSheetで作成したアプリでデータを編集・追加する方法をお伝えしました。

スマホ版では、プレビューでは試せなかった操作もいくつか使用することができますので、今回はそのあたりをお伝えしていきます。

ということで、スマホ版AppSheetのアプリギャラリーとホーム画面への追加方法についてお伝えします。

では、行ってみましょう!

アプリギャラリーからアプリを開く

アプリギャラリーとは

スマホ用AppSheetアプリは、作成したAppSheetアプリの「母艦」のような役割を果たします。

つまり、AppSheetアプリのアプリギャラリーから複数の作成したアプリを呼び出せるわけです。

では、前回のつづきからアプリギャラリーについて見てみましょう。

なお、アプリはスプレッドシートのデータをもとにAppSheetの機能で自動で作成したアプリ「従業員データ」です。

アプリギャラリーを開く

では、アプリギャラリーの開き方を見ていきましょう。

まずは、左上のハンバーガーメニューを開きます。

中には「Assistant」「About」「Share」などのメニューがありますが、ここで「App Gallery」をタップします。

スマホでAppSheetアプリのハンバーガーメニューを開く スマホでAppSheetアプリのApp Galleryをタップ

AppSheetにサインインをする

そういえば、「従業員データ」アプリはサインインが不要の公開アプリでした。

サインインをしていれば、この時点でアプリギャラリーが表示されているはずでしたが、アプリギャラリーはそのアカウントが使用できるアプリを表示できる機能です。

ですから、サインインをしていないとサインインを求められます。

ということで、「Sign in with」という画面が開きますので今回は「Google」を選択します。

スマホ版AppSheetへのサインイン

Googleを選択した場合は、以下のようにメールアドレスとパスワードの入力を求められるので、それぞれ入力して「次へ」としてください。

AppSheetサインインのためにメールアドレスを入力 AppSheetサインインのためにパスワードを入力

これでサインインが完了して、以下のようにアプリギャラリーが表示されます。

つまり、そのアカウントで使用することができるアプリをここから素早くアクセスすることができるわけです。

AppSheetで使用可能なアプリ一覧が表示される

アプリをホーム画面に追加する

もうひとつスマホならではの機能を見ていきましょう。

ホーム画面に追加」です。

アプリギャラリーから目的にアプリを起動することもできますが、ホーム画面にショートカットを追加しておけば、素早く起動することができます。

「従業員データ」のアプリを開いている状態で、再度左上のハンバーガーメニューを開き、今度は「Add Shortcut」をタップします。

Safariが起動しますので、指示どおり「シェア」アイコンをタップ。

AppSheetハンバーガーメニューからAdd Shortcutを選択 Safariのシェアボタンをクリック

開いたメニューから「ホーム画面に追加」を選択します。

名称なども変更できますが、とくに不要であればそのまま「追加」です。

シェアボタンメニューからホーム画面に追加を選択 AppSheetアプリのショートカットをホーム画面に追加

これで、「従業員データ」アプリのショートカットアイコンがホーム画面に追加されました。

AppSheetアプリのショートカットがホーム画面に追加された 「AppSheetで開きますか?」で開くを選択

タップすると

このページを”AppSheet”で開きますか?

と表示されますので、「開く」をすればOKです。

AppSheetアプリのアプリギャラリーからでいいような気もしますが、アプリギャラリーに山ほどアプリが並んでいる場合は、よく使うアプリをホームに追加しておくのがいいのかも知れませんね。

まとめ

以上、スマホ版AppSheetのアプリギャラリーとホーム画面への追加方法についてお伝えしました。

これまで見てきた通り、AppSheetではかなりモバイルでの操作は重要視しているようです。

GASによるモバイルアプリの実現はかなり難易度が高いので、そのあたりの弱点を埋めるという意味ではとても期待できますね。

さて、このシリーズでは自動作成したアプリからひとつも手を入れて来ませんでしたので、別シリーズで手の入れ方はお伝えしていきたいと思います。

どうぞお楽しみに!

連載目次:超初心者向け!はじめてのApp Sheetでアプリ作り

Googleが提供するノーコードアプリ開発プラットフォーム「AppSheet」。コードを一切書かずにアプリが作れる…ノンプログラマー的にはそんな素晴らしい技術は使わない手はないでしょう!本シリーズでは、その第一歩として超初心者向けのチュートリアルということで、AppSheetによるアプリ開発を体験していきます!
  1. AppSheetとは何か?そしてそれを学ぶメリットと注意すべきポイントは?
  2. ノーコード開発プラットフォームAppSheetに無料でサインアップしよう
  3. AppSheetでスプレッドシートのデータから自動でプロトタイプアプリを作る手順
  4. AppSheetで自動作成されたアプリのデータ閲覧機能を眺めてみよう
  5. AppSheetで自動作成されたアプリのデータ追加&編集機能を使ってみよう
  6. AppSheetで自動作成されたプロトタイプアプリのメニューを眺めてみよう
  7. AppSheetで無料で作成したアプリを初めてデプロイする手順
  8. AppSheetで無料&自動で作成したアプリをスマホにシェアしよう!
  9. スマホ版のAppSheetアプリからデータの編集と追加をする方法

『Pythonでかなえる Excel作業効率化』が出版されます!

$
0
0

こんにちは。@katsuhisa__です。今日はお知らせです!「いつも隣にITのお仕事」のOpenPyXLの連載をきっかけとした、書籍が生まれました。私と「いつも隣にITのお仕事」管理人であるタカハシさんの共著です。

『Pythonでかなえる Excel作業効率化』とは

Pythonでかなえる Excel作業効率化

※ 画像をクリックすると、技術評論社様の書籍販売ページに遷移します

 

『Pythonでかなえる Excel作業効率化』では、Excelに限らず、「オフィス業務でよくある自動化・効率化したい欲求をプログラミングでどう解決していくか?」について網羅的に紹介しています。人気のプログラミング言語であるPythonを使って皆さんの業務がどう楽になるか?を重視して構成を行いました。

例えば、次のようなテーマに触れています。

  • Pythonのきほん
  • Excel作業の自動化
  • Googleスプレッドシート操作の自動化
  • 文字列やCSVファイルなどの処理
  • データ分析や可視化
  • Webスクレイピング

他にも読者特典として、Web APIの使い方を紹介するなど、プログラムを書くことを仕事にしていない方が、プログラミングを学ぶきっかけとして最適な一冊となることを意識しました。もちろん、書籍にあわせて、OpenPyXLの連載の内容も大幅に加筆修正を行っています。

目次

第1章 Pythonをはじめよう
1-1 Pythonの特徴
1-2 Pythonのインストール
1-3 Pythonをさわってみよう
1-4 PyCharmを使おう

第2章 Pythonを動かしてみよう
2-1 Pythonのきほん
2-2 ある条件で処理を分ける
2-3 オブジェクトをひとまとまりで扱う
2-4 同じ処理を繰り返し行う
2-5 定義した処理を実行する
2-6 ファイルを機能ごとに分けて再利用する
2-7 例外処理

第3章 Excel作業を自動化しよう
3-1 Excelファイルを操作するための準備
3-2 Excelの値を表示する
3-3 Excelファイルを編集する
3-4 Excelのレイアウトを編集する
3-5 Excelのグラフを作成する

第4章 Googleスプレッドシート操作も自動化しよう
4-1 Googleスプレッドシートを操作するための初期設定
4-2 新しいスプレッドシートを作成する
4-3 セルの値を取得する
4-4 セルの値を編集する

第5章 Excel作業の前工程・後工程を自動化しよう
5-1 フォルダ・ファイル操作
5-2 文字列操作
5-3 CSVデータの処理
5-4 Webからデータを取得しよう

第6章 表計算やデータ分析をやってみよう
6-1 データ分析を始める前に
6-2 JupyterLabを使ってみよう
6-3 データを分析する
6-4 データを可視化する

第7章 いろんな業務を自動化してみよう
7-1 複数のExcelファイルに分散した売上データを分析する
7-2 特定のルールに従って,フォルダ構成を整理する
7-3 Webスクレイピングでデータを取得する

皆さんへのメッセージ

データ型や関数ってなんだろう?といった部分から扱っているので「OpenPyXLの連載が難しかった…」なんて方も、本書を読んでいただければ、内容を理解いただけると確信しています!Pythonの基本からはじまり、Excelやスプレッドシートの自動化・効率化、データ分析やWebスクレイピングといった応用まで、少しずつ階段を登るような構成になっています。

 

Pythonでかなえる Excel作業効率化
Excelは全ビジネスマン必須のアプリケーションですが,操作がめんどうだと感じたことはありませんか? 本書は,「Python」というプログラミング言語を使って,そんなめんどうな業務を自動化・効率化する方法を紹介します。プログラミングがはじめての人にもわかるように,コードの書き方からしっかり解説。ExcelやGoogl...

 

皆さんの業務が少しでも楽になるように、本書をご活用いただければ筆者冥利につきます。ぜひお買い求めください!

 

著者代表 北野勝久

「結集!ノーコードアプリ開発プラットフォーム」で4つのサービスを一挙に学びました

$
0
0
platform

photo credit: Ted’s photos – For Me For You 2020 – Buenos Aires – Retiro Station Train Shed via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

「ノンプログラマーのためのスキルアップ研究会」は、ノンプログラマーがプログラミングをはじめとするITスキルを学び合うコミュニティです。

先日行われた定例会のテーマは「結集!ノーコードアプリ開発プラットフォーム」

PowerApps、AppSheet、Amazon Honeycodeなど、ニュースによく登場するようになってきたノーコードアプリ開発ですが、たくさんありすぎてどれがいいかわからん…!

ということで、今回は4つのプラットフォームについてデモを交えて紹介する機会といたしました。

ちなみに当日の様子は以下、Togetterのツイートまとめもご覧くださいませ。

ノンプロ研定例会Vol.33「結集!ノーコードアプリ開発プラットフォーム」
コードを書かずにアプリ開発ができる…それを実現するノーコードアプリ開発プラットフォームがたくさん登場しつつあります。使いこなせればノンプログラマーの強い味方になるはず…!しかし、本当にアプリ開発で..

では、行ってみましょう!

ノンプログラマーのためのはじめてのAppSheet

さて、トップバッターは私のプレゼンから。

1月にGoogleに買収されてその参加に入った「AppSheet」の紹介です。

AppSheet : mobile apps from spreadsheets :
Make apps with no-code. AppSheet's no-code app building platform allows you to quickly build apps to collect, or connect to, data. Start building for free now.

AppSheetのトップページの謳い文句には以下のようにあります。

The intelligent no-code platform
Create apps to transform your workplace.

その名の通り、かなり賢いという印象です。

  • スプレッドシートなどからデータ構造を解析していい感じにアプリを作ってくれる
  • アイデアを入力するとうまくサジェストしてくれながらプロトタイプアプリを作ってくれる
  • カメラ画像、サイン手書き、バーコードスキャン、OCRなどの機能をデータ型の選択もしくは関数の入力だけで実現可能

ただ、Power AppsやBubbleのようにオブジェクトを好きに配置できず、決められたviewから選択するのみなので、UI面での自由度は制限されています。

ここが、「見栄え」を気にする決裁者にどう映るか…ですね。

あと、エディタはもちろん、ブログやYouTubeで用意されているドキュメントやチュートリアルなどはほぼ英語なので、日本語の情報が少ないという印象はあります。

このあたりは、私のような人間が頑張って整備していかねばと思っております。

よろしければ、以下シリーズなどもご覧ください。

AppSheetとは何か?そしてそれを学ぶメリットと注意すべきポイントは?
ノーコードアプリ開発はノンプログラマーにとっては、とても魅力的なサービスです。今回はGoogleが提供する「AppSheet」についてその概要とともに、その学ぶメリットと注意すべきポイントについてお伝えします。

業務目的で一定の範囲で使用するのであればコストもそれほどかかりませんので、G Suiteを採用している会社であれば有力な選択肢にはなると思います。

一週間で知るPower Apps

さて、次はMicrosoftが提供をする「Power Apps」

ビジネス アプリ | Microsoft Power Apps
Microsoft Power Apps を使ってビジネス アプリを簡単に作成して組織のすべてのユーザーを強化し、プロセスの最新化とイノベーションの推進を始めましょう。

ノンプロ研では、もうおなじみとなった、Microsoft MVPのきぬあささんにゲスト登壇をいただきました。

Power Appsは「キャンバスに描くようにアプリを作成し、見たものがそのままアプリになる」ことができると表現されています。

確かに、PowerPointのような操作感で、Officeアプリの各種設定や、Excel関数入力のようにアプリの機能を設定していくというイメージです。

また、Power Platformの一員で、プロセスの自動化やRPA機能を実現するPowre Automateなどとの連携がとれるのが魅力です。

その点は、以前の定例会のレポートも参考になりますね。

「進撃のMicrosoft」からノンプログラマーのこれからを考える
「ノンプログラマーのためのスキルアップ研究会」は、プログラミングなどのスキルを学び合うコミュニティです。先日の定例会は「進撃のMicrosoft」と題してPower Platformなど注目のサービスについて学びました!

実際に学ぼうと思ったら、YouTubeなどに日本語による動画がたくさん存在しているらしく、きぬあささんにはそのいくつかを紹介していただきました。

日本語…ありがたい。

操作感については、きぬあささんも「初見殺し」と表現されていたように、かなり自由にオブジェクトを配置できるなどの守備範囲の広さとの裏返しなのですが、わりと難しく見えてしまう印象です。

PowerPlatformが使用できるライセンスを契約していれば、すぐに学びはじめることはできます。一方で、そうでないときは、組織でどのようなライセンスを選択するかは検討が必要です(実際、弊社プランノーツは使える環境にない…汗)

いずれにしても、利用可能なライセンスと学習体制が整えば、かなり強力な市民開発部隊を組織内に作れそうな印象があります。

ノーコードアプリ「Glide」の活用ヒント

次は、ノンプロ研のきのぴぃさんから「Glide」の紹介です。

Glide • Create an app from a Google Sheet in five minutes, for free
Glide turns spreadsheets into beautiful, easy-to-use apps, without code. Pick a spreadsheet or start with a template, customize your app, then share it instantl...

Glideのトップページのキャッチフレーズはこちら。

Create an app from a Google Sheet in five minutes, for free.

「Googleシートから5分で無料でアプリが作れる」とのこと。

データソースもGoogleスプレッドシートだけに限定されていて、UIもAppSheetと同様にいくつかのLayoutに限定されています。

今回のアプリの中では、一番自由度が制限されているように見えますが、そのおかげで直感的で悩むこと無くアプリを開発できる印象です。

無料プランではデータ数が500件という大きな制約がありますので、データ数が増えていくようなアプリであれば有料を想定する必要があります。

とにかく簡単なので、ひとまずノーコードアプリ開発を体験してみたいという目的だったり、データ数が増えない特定の目的で使うのであれば、良い選択のように思います。

ただ、組織の業務で使用するとなると、対抗はAppSheetになるはずですので、Glideは選びづらいように思います。

ノーコードアプリ「Bubble」を触ってみた

きのぴぃさんからはもう一つ、「Bubble」の紹介です。

You don't need to be a coder
Bubble introduces a new way to build a web application. It’s a no-code point-and-click programming tool. Bubble hosts all applications on its cloud platform.

Bubbleはひとことで表すと「ノーコードで試作品やMVPなPWAアプリを作れるサービス」だそうです。

これまでの3つと異なるのは、明確に「Webアプリケーションを作る」ということを謳っているということですね。

ユーザー管理、アナリティクス、認証などのプラグインも用意されていて、それらを組み合わせてアプリを開発できるとのこと。

また、UIもドラッグ&ドロップにより自由に配置ができます。

ただ、もちろんそのためには、それなりの学習コストが必要になってきますので、今回の中では最も実現できることが多く、かつ最も学習コストが高いということがいえると思います。

もし、よいチュートリアルなどがあるのであれば、Webサービス作りたい…!という明確な目的を持つ方がBubbleを使うという選択肢はあるかと思います。

まとめ

ということで、「結集!ノーコードアプリ開発プラットフォーム」のレポートをお送りしました。

4つを比較してみて思ったのは、プラットフォームの機能としては、「制限」と「学習コスト」のトレードオフがあり、そのどの位置を狙うかということですね。

できることが多ければそれだけ学習コストも上がります。

Googleが自由度が非常に高かったローコード開発PF「App Maker」を捨てて、AppSheetに完全に乗り換えたのには、その意志を感じますね。

あとは、日本でいうと、日本語のドキュメントやコミュニティの存在も大きなポイントになりそうです。

その点では、Power Appsが大きくリードしている印象で、国産の「kintone」もその点でうまくユーザーを獲得しているように思います。

どの組織もうまくいずれかのプラットフォームを採用&活用して、業務をアップデートしていっていただきたいですね。

個人的には、日本語の情報やコミュニティが少ないAppSheetを中心に学習&発信していこうと思います。

「ノンプログラマーのためのスキルアップ研究会」について

コミュニティ「ノンプログラマーのためのスキルアップ研究会」では、毎月の定例会や勉強会、Slackでのやり取りを通して、皆さんのプログラミング学習の質やモチベーションを高めるための活動をしています。 過去の活動については、以下のページをご覧ください。
コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ
コミュニティ「ノンプログラマーのためのスキルアップ研究会」(略して「ノンプロ研」)。このページはその活動レポートまとめページです。コミュニティ活動の一気読みをされたい方、ぜひご活用くださいませ。
ぜひ、皆様のご参加をお待ちしております!
コミュニティ「ノンプログラマーのためのスキルアップ研究会」についてのお知らせ #ノンプロ研
ノンプログラマーがVBA・GAS・Pythonなどのプログラミングを学ぶコミュニティ「ノンプログラマーのためのスキルアップ研究会」が絶賛活動中です!本ページはコミュニティの情報発信をしていく特集ページです。
Viewing all 2110 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>