AppSheetは、データベースやスプレッドシートから簡単にモバイルアプリを作成できるプラットフォームです。入力チェックは、アプリのデータ入力時に行われる重要な機能の一つで、不正なデータの入力を防止し、データの品質を維持するのに役立ちます。以下に、AppSheetにおける入力チェックについて解説します。

 

 

 

バリデーション条件の設定

AppSheetでは、各データ入力フィールドに対して、バリデーション条件を設定できます。たとえば、数値フィールドには特定の範囲内の値のみを許可する条件を設定したり、文字列フィールドには特定の文字パターンを持つ値のみを許可する条件を設定したりできます。

名前やふりがなを必須項目にする

今回のサンプルでは、お客様名やフリガナ担当スタッフ名が任意入力になっているので、空白のままでも保存できてしまいます。

こちらを必須入力に変更します。

データをEditする

データのメニューからcolumnsの画面を開いて、editボタンを押します。

Data Validityの中に「Require?」という設定場所があるので、こちらをONにすると、必須入力になります。

 

続きはこちら

 

 

 

 

 

  1. HTMLでの電話発信リンクの基本
  2. 電話発信リンクの作成
  3. 国際電話番号の形式に対応する
  4. 電話発信リンクの見た目をカスタマイズする
  5. まとめ
 

HTMLでの電話発信リンクの基本

ウェブサイトに電話発信リンクを追加するには、HTMLの<a>(アンカー)タグを使用します。

aタグは通常、ウェブページ間のリンクや、同一ページ内の特定のセクションへのリンクを作成するために使われますが、href属性に特定のスキームを指定することで、電話発信の機能を実装することも可能です。

電話発信リンクの作成

電話発信リンクを作成するためには、<a>タグのhref属性にtel:スキームを使用し、その後に電話番号を記述します。以下はその基本的な形式です。

<a href="tel:1234567890">123-456-7890に電話する</a>

このコードをウェブサイトに追加すると、ユーザーがこのリンクをクリックすると、デバイスのデフォルトの電話アプリが起動し、指定した電話番号に自動的にダイヤルします。

 

 

 

 

【GAS】指定された時間(ミリ秒単位)プログラムの実行を中断する関数|Utilities.sleep()
Utilities.sleep() は、Google Apps Script で指定された時間(ミリ秒単位)プログラムの実行を中断する関数です。処理の完了を待ったり、意図的にプログラムの速度を遅らせたりする際に使用されます。

使い方
Utilities.sleep(milliseconds);
引数
milliseconds : ミリ秒単位で指定する待機時間。
Utilities.sleep(1000);

このコードは、Google Apps Scriptで1秒間待機します。これは、スプレッドシートの処理が完了するのを待つために使用できます。
 #GAS #Utilities #JavaScript

https://eguweb.jp/gas/72144/

 

前回の続きです。ランダムな整数を発生させて担当者をランダムに割り振りたい場合などに使える関数です。

  1. RANK.EQ関数のおさらい
  2. 重複しないように整理する
  3. 関数の解説
  4. まとめ

RANK.EQ関数のおさらい

「RANDBETWEEN」を使用して、1から10の整数をランダムに生成し、その後「RANK.EQ」関数を使用してランクを付けることで、整数を重複させずに表示できます。

RANK.EQ関数の基本的な構文は以下の通りです。

=RANK.EQ(number, ref, [order])
  • number: ランクを求めたい数値。
  • ref: ランクを計算するための数値の配列または参照。
  • [order]: ソートの順序を指定します。0または省略された場合は降順、1の場合は昇順になります。

重複しないように整理する

A列に既にRANDBETWEEN(1,10)が入力されていて、その中に重複する値が含まれている場合、それを重複しないように整理するためには、以下の手順を実行します。

=RANK.EQ(A1, $A$1:$A$10,0)+COUNTIF($A$1:A1,A1)-1

別の列(例えば、B列)に=RANK.EQ(A1, $A$1:$A$10,0)+COUNTIF($A$1:A1,A1)-1と入力します。この手順により、重複しないランクが付けられます。

関数の解説

 
続きはこちら

  1. Zoomアプリのテストミーティングに参加する
  2. カメラをテストする
  3. スピーカーをテストする
  4. マイクを設定する
  5. まとめ

Zoomでマイクとスピーカー・カメラをテストする手順です。

 

Zoomアプリのテストミーティングに参加する

まず、パソコンで下記のミーティングテストを開きます。

 

 

 

 

カメラをテストする

もしミーティングを立ち上げた時に自分のカメラが表示されていない場合は、カメラの選択を確認してみます。

カメラを選択できますので、他のカメラに切り替えて動作を確認できます。

より細かい設定をしたい場合は、設定メニューから「ビデオ設定」タブを選択します。

ミラーリングや外見補正などが設定できます。

スピーカーをテストする

スピーカーの確認画面が表示されます。自動的に音が鳴るので、出力レベルが反応してたらスピーカーはOKです。

 

「はい」を押します。

マイクを設定する

次に、マイクのテスト画面が表示されます。

数秒間話した後、録音されたオーディオが再生されます。

 

 

 

続きはこちら

 

 

Notionでタイムラインビューを使用して年間のガントチャートを作成します。Notionのタイムラインビューは、プロジェクトのタスクやイベントを時間軸に沿って視覚的に管理するのに適しています。

ガントチャートを用いることで、プロジェクトの全体的な流れや各タスク間の関連性を一目で把握することができます。

目次

  1. 新しいデータベースの作成
  2. カスタムフィールドの追加
  3. タイムラインビューの追加
  4. タスクの追加と設定
  5. タイムラインのカスタマイズ
  6. フィルターとソートの使用
  7. まとめ

新しいデータベースの作成

Notionで新しいページを作成します。ページ内で「/」を入力し、表示されるメニューから「データベース」セクションを選択します。

「テーブル – データベース」を選択し、新しいデータベースを作成します。

カスタムフィールドの追加

データベースには、デフォルトで「名前」、「タグ」、「ステータス」などのフィールドが含まれています。

ガントチャートに必要な情報を追跡するために、開始日と終了日を表す「日付」タイプのフィールドを追加します。これにより、タスクやイベントの期間を設定できます。

 

タイムラインビューの追加

データベースの上部にある「+ ビューを追加」ボタンをクリックします。または/で呼び出します。「タイムライン」を選択し、ビューに名前を付けます。

「作成」をクリックしてタイムラインビューを作成します。

タスクの追加と設定

新しいタスクを追加するには、タイムラインビューで「+ 新規」をクリックします。

各タスクに対して、「名前」を入力し、「開始日」と「終了日」を設定します。

必要に応じて、他のフィールド(ステータス、責任者など)を追加・編集します。

続きはこちら
https://eguweb.jp/notion/71585/

 

Webアプリケーションでサービスワーカーを使用してプッシュ通知を扱います。サービスワーカーは、バックグラウンドでスクリプトを実行し、プッシュ通知、キャッシング、オフラインサポートなどの機能を提供するために使用されます。

このコードは、以下のイベントを処理します。

  1. サービスワーカーのイベント(addEventListener)
  2. プッシュイベント (push)
  3. 通知クリックイベント (notificationclick)
  4. フェッチイベント (fetch)
  5. インストールイベント (install)
  6. アクティベートイベント (activate)
  7. まとめ

サービスワーカーのイベント(addEventListener)

下記のようなイベントがあります。

  • push
  • notificationclick
  • fetch
  • install
  • activate
self.addEventListener("push", (event) => {
  let data = event.data.text();
  data = JSON.parse(data);
  const options = {
    body: data.message,
    icon: data.iconUrl,
    actions: [
      { action: "confirm", title: "承認" },
      { action: "decline", title: "拒否" },
    ],
    badge: "images/badge.png"
  };
  event.waitUntil(self.registration.showNotification(data.title, options));
});

// プッシュ通知クリックイベントの処理
self.addEventListener("notificationclick", (event) => {
  event.notification.close();
  if (event.action === "confirm") {
    console.log('承認がクリックされました');
  } else if (event.action === "decline") {
    console.log('拒否がクリックされました');
  } else {
    console.log('通知自体がクリックされました');
  }
});

// フェッチイベントの処理
self.addEventListener("fetch", (event) => {
  console.log('リソースフェッチイベント発生');
});

// インストールイベントの処理
self.addEventListener("install", (event) => {
  console.log("サービスワーカーのインストールが開始されました");
});

// アクティベートイベントの処理
self.addEventListener('activate', (event) => {
  console.log("サービスワーカーがアクティブ化しました");
});

プッシュイベント (push)

  • データの取得と解析:
    • サービスワーカーはプッシュイベントを受け取ると、event.data.text()を使用してイベントデータ(JSON形式の文字列)を取得し、JSON.parse(data)でオブジェクトに変換します。
  • 通知オプションの定義:
    • body: 通知の本文。data.bodyからdata.messageに変更しています。これにより、送信されるデータ構造におけるメッセージのキー名が変わります。
    • icon: 通知に表示されるアイコン。data.iconからdata.iconUrlに変更して、アイコンのURLを指定するキー名を変更しています。
    • actions: ユーザーが通知上で取れるアクション(ボタン)。”yes”と”no”から”confirm”(承認)と”decline”(拒否)に変更し、タイトルもそれぞれ”はい”から”承認”、”いいえ”から”拒否”に変更しています。
    • badge: 通知のバッジアイコンを指定する新たなオプションを追加しています。これは特にモバイルデバイスで通知が来たときにアプリアイコンの上に小さく表示される画像です。
  • 通知の表示:
    • self.registration.showNotificationメソッドを使って、定義したタイトルとオプションで通知を表示します。

通知クリックイベント (notificationclick)

  • 通知のクローズ:
    • event.notification.close();で、ユーザーが通知をクリックした際に通知を閉じます。
  • アクションのハンドリング:
    • ユーザーが”confirm”(承認)や”decline”(拒否)アクションをクリックした場合、それぞれ対応するログをコンソールに出力します。
    • その他のクリック(通知自体や別のアクション)では、「通知自体がクリックされました」とログします。

フェッチイベント (fetch)

  • ログの出力:
    • ネットワークリクエストが発生するたびに、「リソースフェッチイベント発生」とコンソールにログ出力します。この部分は主にデバッグや開発のために使用され、実際のキャッシュ戦略やリクエストの処理は含まれていません。

インストールイベント (install)

インストールのログ:

サービスワーカーがインストールされる際、「サービスワーカーのインストールが開始されました」とコンソールにログします。

実際のインストールプロセスでは、ここでアセットのキャッシュなどを行うことが一般的です。

 

 

 


 

続きはこちら

 

 

 

.sliceメソッドの基本

.sliceメソッドは、文字列や配列から特定の部分を抽出するために使用されます。このメソッドは、開始インデックスと終了インデックスを指定することで、元のデータを変更せずに部分的なコピーを作成します。

 

.sliceの基本的な使用法

  • 文字列の例: 'こんにちは世界'.slice(0, 5) は 'こんにちは' を返します。
  • 配列の例: [1, 2, 3, 4, 5].slice(1, 4) は [2, 3, 4] を返します。

このように.sliceメソッドは、データの特定の範囲を取り出す際に非常に便利です。

配列の使用例

配列からの中間部分の抽出: 配列 [1, 2, 3, 4, 5, 6] から中間の [3, 4, 5] を取り出す場合、以下のように.sliceを使います。

let array = [1, 2, 3, 4, 5, 6];
let middlePart = array.slice(2, 5); // 開始インデックス2、終了インデックス5
console.log(middlePart); // 出力:[3, 4, 5]

配列の末尾の要素の取得: 配列の最後のn要素を取得するには、負のインデックスを使います。

let array = [1, 2, 3, 4, 5, 6];
let lastTwo = array.slice(-2); // 最後から2要素を取得
console.log(lastTwo); // 出力:[5, 6]

文字列の使用例

特定の範囲の文字の抽出: 文字列 "こんにちは世界" から "にちは" を取り出す場合、以下のようにします。

let str = "こんにちは世界";

// 文字列から特定の範囲を取得する方法
let subStr = str.slice(1, 4); // インデックス1から4未満までの文字を取得
console.log(subStr); // 出力: "にちは"

 

文字列の終わりからの抽出: 文字列の終わりから特定の文字を抽出する場合も、負のインデックスを使用します。

// 文字列の末尾からの抽出
let subStrEnd = str.slice(-5); // 文字列の末尾から5文字目以降を取得
console.log(subStrEnd); // 出力: "こんにちは世界"

 

続きはこちら

https://eguweb.jp/gas/71275/


 

 

 

クリエイタースタジオを利用したインスタグラム予約投稿の手順

ステップ1: クリエイタースタジオにアクセス

インスタグラムアカウントのリンク

  • インスタグラムのセクションに移動: 画面上部のインスタグラムのアイコンをクリックします。
  • アカウントをリンク: 「インスタグラムアカウントを追加」をクリックし、指示に従ってアカウントをリンクします。
 

 
 

新しい投稿の作成

  • 投稿作成: 画面上部の「投稿を作成」をクリックします。
  • コンテンツのアップロード: 画像や動画をアップロードします。
  • キャプションの入力: キャプションやハッシュタグを追加します。
 

公開日時の設定

  • 公開オプションの選択: 「公開」ボタンの隣にある矢印をクリックして、「後で公開する」を選択します。
  • 日時の設定: 投稿を公開したい日時を選択します。
 
続きはこちら

 

 
 

 

IF関数の基本

IF関数とは何か?

IF関数は、条件に基づいて異なるアクションを実行するためのプログラミングの基本的なツールです。

スプレッドシートにおいては、特定の条件が真(true)か偽(false)かによって、異なる計算やデータの表示を行います。

スプレッドシートでのIF関数の基本構造

IF関数の基本構造は以下のとおりです。

=IF(条件, 真の場合の値, 偽の場合の値)
  • 条件:チェックしたい条件式。
  • 真の場合の値:条件が真(true)の場合に表示される値。
  • 偽の場合の値:条件が偽(false)の場合に表示される値。

例を用いた基本的な使用方法

例えば、あるセルの数値が10より大きいかどうかを判定するIF関数は以下のようになります。

=IF(A1 > 10, "大きい", "小さいまたは等しい")

この式では、セルA1の値が10より大きい場合は”大きい”と表示し、そうでなければ”小さいまたは等しい”と表示します。


IF関数の応用例

続きはこちら