AppSheetでメモアプリを作る

AppSheetは、ノーコードでアプリを作成できるツールです。ここでは、AppSheetを使ってシンプルなメモ帳アプリを作成を方法を説明します。

 

メモ帳アプリの基本機能

  • メモの作成

  • メモの編集

  • メモの削除

  • メモの検索

このような機能を想定します。

データベースの準備

まず、Googleスプレッドシートを使ってメモのデータベースを準備します。以下のようなスプレッドシートを作成します。

 

画像
 

シート名は「メモ」などを設定しておきます。

AppSheetでアプリを作成する

スプレッドシートの拡張機能から「AppSheet」を選択します。

「アプリを作成」を選択します。

 

画像
 

 

アプリが作成されました。

 

画像
 

 

ステップ2: テーブルの設定

「メモ」テーブルを表示します。

データソースとしてAppSheetが自動的にテーブル構造を認識しています。

 

画像
 

 

ビューの設定

「Views」タブで、新しいビューを作成します。

ビュータイプを「Table」に設定し、データソースを「メモ」テーブルにします。

 

画像
 

 

必要に応じて、ビューの名前や表示項目を設定します。

メモの作成・編集・削除

AppSheetは自動的に「Add」「Edit」「Delete」アクションを生成します。

画像
 

これらのアクションをカスタマイズする場合は、「Behavior」タブで設定を変更できます。

 

 

 

 

 

 

Google Apps Script (GAS)を使用してGmailのトリガーを実行する際に、あと何回実行できるかを知るためには、GASのクォータ情報を確認し、残りの実行回数を計算する必要があります。以下に、GASのクォータ情報と残りの実行回数を取得する方法を説明します。

 

目次

  1. GASのクォータ情報

  2. 残りのメール送信回数を取得する方法

  3. サンプルコード

  4. 残りのトリガー実行回数を計算する方法

  5. サンプルコード

  6. トリガーの設定方法

  7. まとめ

GASのクォータ情報

GASにはさまざまなクォータがありますが、特に重要なのは以下のクォータです:

  • メール送信の受信者数: 無料アカウントでは1日あたり100人、Google Workspaceアカウントでは1日あたり1,500人まで。

  • トリガーの合計実行時間: 無料アカウントでは1日あたり90分、Google Workspaceアカウントでは1日あたり6時間

Google サービスの割り当て  |  Apps Script  |  Google for Developersdevelopers.google.com

残りのメール送信回数を取得する方法

GASでは、MailApp.getRemainingDailyQuota()メソッドを使用して、残りのメール送信回数を取得できます。このメソッドは、当日の残りのメール送信回数を返します。

サンプルコード

以下のコードは、残りのメール送信回数をログに出力する例です。

function logRemainingEmailQuota() {
  var remainingQuota = MailApp.getRemainingDailyQuota();
  Logger.log('Remaining email quota: ' + remainingQuota);
}

 

この関数を実行すると、残りのメール送信回数がログに出力されます。

画像
 

残りのトリガー実行回数を計算する方法

トリガーの実行回数を管理するためには、スクリプトプロパティを使用して実行回数をカウントし、クォータに基づいて残りの実行回数を計算します。

サンプルコード

以下のコードは、トリガー実行回数をカウントし、残りの実行回数を計算する例です。

function countTriggerExecutions() {
  var scriptProperties = PropertiesService.getScriptProperties();
  
  // 実行回数を取得
  var executionCount = scriptProperties.getProperty('executionCount');
  if (!executionCount) {
    executionCount = 0;
  }
  
  // 実行回数を数値に変換
  executionCount = parseInt(executionCount, 10);
  
  // トリガーのクォータ(無料アカウントの場合)
  var triggerLimit = 90; // 分
  
  // 残りの実行時間を計算
  var remainingExecutions = triggerLimit - executionCount;
  
  // 残りの実行時間をログに出力
  Logger.log('Remaining trigger executions (minutes): ' + remainingExecutions);
  
  // 実行回数をインクリメント
  executionCount++;
  
  // 実行回数を保存
  scriptProperties.setProperty('executionCount', executionCount);
  
  // 必要な処理をここに記述
  if (remainingExecutions <= 0) {
    Logger.log('Trigger execution limit reached.');
    // 追加の処理(例: 管理者に通知)
  }
}


この関数をトリガーとして設定することで、実行回数を管理し、クォータに達した場合に適切な処理を行うことができます。

 

 

 

 

 

Premiere Proで作成した動画を、背景透明で書き出す方法について説明します。

  1. エクスポート設定
  2. プリセット(形式)
  3. ビデオコーデック
  4. チャンネル設定:
  5. その他の設定確認:
  6. 書き出し:
  7. まとめ

エクスポート設定

タイムラインから透明背景の素材を選択して、メニューから「書き出し」を選択します。

「書き出し設定」ダイアログが表示されたら、以下の設定を確認および変更します。

プリセット(形式)

「QuickTime」または「GoPro CineForm」を選択します。

ビデオコーデック

ビデオコーデック: 「アニメーション」または「GoPro CineForm RGB 12-bit with alpha」など、アルファチャンネルをサポートするコーデックを選択します。

チャンネル設定:

「ビデオ」タブを選択し、「ビット数」オプションで「8bpg + アルファ」を選択します。

 

 

 

WordPressでContact Form 7を使って金額を計算し、その情報を処理するための手順です。プランやオプションを含めた注文金額の計算をJavaScriptで実装する方法です。

目次

  1. 完成形の説明

  2. プラン・オプションを修正する(パイプ)

  3. JavaScript コード

  4. JavaScriptの解説(DOMの読み込みを待つ)

  5. 変数の定義

  6. 合計金額の計算

  7. イベントリスナーの追加

  8. まとめ

完成形の説明

  • フォーム: Contact Form 7を使って、プラン、オプション、のフィールドを追加します。

  • JavaScript: JavaScriptを使って、ユーザーがプランやオプションを選択したり、注文個数を入力したりするたびに注文金額を計算し、表示します。

 

画像
 

プラン・オプションを修正する(パイプ)

前回のままだと、金額がそのまま表示されているので少し修正したいですね。

| の記号で区切ることで、表示部分のテキストと、オプションのvalueを変えることができるようです。便利ですね。

<p>お名前 (必須)
    [text* your-name] </p>

<p>メールアドレス (必須)
    [email* your-email] </p>

<p>プラン (必須)
    [select* yourplan include_blank "1000円プラン|1000" "2000円プラン|2000" "3000円プラン|3000"]
</p>

<p>オプション</p>
<p>
    <label>[checkbox* youroption1 use_label_element "500円オプション|500"]</label><br>
    <label>[checkbox* youroption2 use_label_element "1000円オプション|1000"]</label><br>
    <label>[checkbox* youroption3 use_label_element "1500円オプション|1500"]</label>
</p>

<p>[submit "送信"]</p>

 

画像
 

このフォームでプランとオプションを選択すると、選択したプランとオプションの合計金額を表示するようにJavaScriptを追加します。

以下は、JavaScriptを使用した方法です。

JavaScript コード

このJavaScriptコードは、プランとオプションを選択すると、選択したプランとオプションの合計金額をログで表示します。

document.addEventListener('DOMContentLoaded', function() {
  var plan = document.querySelector("select[name='yourplan']");
  var options = [
    document.querySelector("input[name='youroption1']"),
    document.querySelector("input[name='youroption2']"),
    document.querySelector("input[name='youroption3']")
  ];

  function calculateSum() {
    var planPrice = parseInt(plan.value) || 0;
    var optionPrice = 0;

    options.forEach(function(option) {
      if (option && option.checked) {
        console.log('Option value:', option.value); // 各オプションの値をログに出力
        optionPrice += parseInt(option.value) || 0;
      }
    });

    console.log('planPrice :', planPrice);
    console.log('optionPrice:', optionPrice);
    var total = planPrice + optionPrice;
    console.log('合計金額:', total);
  }

  // プランが変更されたときのイベントリスナー
  plan.addEventListener('change', calculateSum);

  // 各オプションチェックボックスにイベントリスナーを追加
  options.forEach(function(option) {
    if (option) {
      option.addEventListener('change', calculateSum);
    }
  });

  // 送信ボタンがクリックされたときのイベントリスナー
  document.querySelector("input[type='submit']").addEventListener('click', function(event) {
    event.preventDefault(); // フォームの送信を防ぐ
    calculateSum(); // 合計金額を計算
  });
});


前回の部分から、増えた選択肢(オプション)を追加しています。

JavaScriptの解説(DOMの読み込みを待つ)

document.addEventListener('DOMContentLoaded', function() {


この行は、DOMコンテンツが完全に読み込まれた後に関数を実行することを意味します。

 

変数の定義

  var plan = document.querySelector("select[name='yourplan']");
  var options = document.querySelectorAll("input[name='youroption[]']");

 

  • plan は、プランを選択するためのselect要素を取得します。

  • options は、オプションのチェックボックスをすべて取得します。

 
 
 

 

 

  1. php.iniの設定
  2. .htaccessファイルでの設定
  3. wp-config.phpでの設定
  4. プラグインの問題を確認
  5. テーマの問題を確認
  6. デバッグとプロファイリング
  7. まとめ
 

php.iniの設定

memory_limit の値が低すぎる可能性があります。

php.ini ファイルで memory_limit を確認し、必要に応じて増やしてください。

memory_limit = 256M

などと設定します。

通常、レンタルサーバーの管理画面内などに設定がありますが、不明な場合はホスティング業者や詳しい人に聞いてみましょう。

※設定は慎重に行ってください。

.htaccessファイルでの設定

.htaccessファイルに以下の行を追加して、PHPのメモリリミットを増やすこともできます。

php_value memory_limit 256M

wp-config.phpでの設定

WordPressの設定ファイルであるwp-config.phpに以下の行を追加して、メモリリミットを増やすことができます。

define('WP_MEMORY_LIMIT', '256M');

プラグインの問題を確認

特定のプラグインがメモリを大量に消費している場合があります。以下の手順で問題のプラグインを特定します。

  1. WordPressの管理画面にログインします。
  2. プラグインを一つずつ無効にして、エラーが解消されるか確認します。
  3. 問題のプラグインが特定されたら、そのプラグインのアップデートや、代替のプラグインを探します。

テーマの問題を確認

テーマもメモリを大量に消費することがあります。テーマを一時的にデフォルトのテーマ(例:Twenty Twenty-One)に変更して、エラーが解消されるか確認します。

※操作は慎重に行ってください。

 

 

 

 

 

reCAPTCHAは、ウェブサイトがスパムや悪意のあるボットから保護するためのツールです。Google reCAPTCHAにはいくつかのバージョンがあり、それぞれ異なる方法でユーザーを確認します。

www.google.com

目次

  1. reCAPTCHAの種類(v2)チェックボックス・インビジブル

  2. 設定項目の意味

  3. 設定手順

  4. コード例

  5. 注意点

  6. まとめ

reCAPTCHAの種類(v2)チェックボックス・インビジブル

  1. Google reCAPTCHA v2 チェックボックス

    • ユーザーが「私はロボットではありません」というチェックボックスをクリックして確認します。

  2. Google reCAPTCHA v2 インビジブル

    • ユーザーの行動を分析し、ユーザーに何も表示しないか、疑わしい場合にのみ確認を求めます。

画像
 
画像
 

設定項目の意味

  1. あなたのreCAPTCHAサイトキー

    • サイトキーは、あなたのウェブサイトがreCAPTCHAを利用するためのキーです。GoogleのreCAPTCHA管理コンソールで取得できます。

  2. あなたのreCAPTCHAのシクレットキー

    • シークレットキーは、サーバー側で使用するキーで、Google reCAPTCHAサービスとの通信を認証します。これもreCAPTCHA管理コンソールで取得します。

設定手順

  1. Google reCAPTCHA管理コンソールにアクセスし、サイトを登録します。

  2. サイト登録後、サイトキーとシークレットキーが発行されます。

  3. ウェブサイトのreCAPTCHA設定欄に、取得したサイトキーとシークレットキーをそれぞれ入力します。

 

画像
 

コード例

以下は、Google reCAPTCHA v2 チェックボックスのHTMLとJavaScriptの実装例です。

    <form action="your_backend_script" method="POST">
        <div class="g-recaptcha" data-sitekey="あなたのreCAPTCHAサイトキー"></div>
        <br>
        <input type="submit" value="Submit">
    </form>

注意点

 

 

 

固定フッターボタンを作成するためのCSSを以下に示します。このCSSコードは、画面の下部に固定され、画面サイズに応じて適切に配置されるようにフッターを設計します。

  1. CSSコード
  2. フッター全体のスタイル設定
  3. 各リンク(ボタン)のスタイル設定
  4. リンクにアイコンを含める場合のスタイル設定
  5. ホバー時のスタイル設定
  6. メディアクエリでのレスポンシブデザイン
  7. HTMLの例
  8. まとめ
 

CSSコード

    /* フッターの全体スタイル */
    .footermenu {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      display: flex;
      background-color: #4CAF50; /* フッターの背景色 */
    }

    /* 各リンク(ボタン)のスタイル */
    .footermenu a {
      flex: 1;
      padding: 10px;
      color: white;
      text-align: center;
      background-color: #4CAF50;
      border: none;
      cursor: pointer;
      font-size: 16px;
      text-decoration: none;
    }

    /* リンクにアイコンを含める場合のスタイル */
    .footermenu a .icon {
      display: block;
      font-size: 24px;
      margin-bottom: 5px;
    }

    /* ホバー時のスタイル */
    .footermenu a:hover {
      background-color: #45a049;
    }

フッター全体のスタイル設定

/* フッターの全体スタイル */
.footermenu {
  position: fixed; /* フッターを画面の下部に固定 */
  bottom: 0; /* 画面の下端に配置 */
  left: 0; /* 画面の左端に配置 */
  width: 100%; /* フッターを画面全幅に設定 */
  display: flex; /* フレックスボックスレイアウトを使用 */
  background-color: #4CAF50; /* フッターの背景色 */
}

この部分のコードでは、フッターを画面の下部に固定し、幅を100%に設定して画面全幅に広げています。また、フレックスボックスレイアウトを使用して、内部の要素を横並びに配置しています。

各リンク(ボタン)のスタイル設定

/* 各リンク(ボタン)のスタイル */
.footermenu a {
  flex: 1; /* 各リンクを同じ幅に設定 */
  padding: 10px; /* 内側の余白を設定 */
  color: white; /* 文字色を白に設定 */
  text-align: center; /* テキストを中央揃え */
  background-color: #4CAF50; /* リンクの背景色 */
  border: none; /* ボーダーをなしに設定 */
  cursor: pointer; /* カーソルをポインターに変更 */
  font-size: 16px; /* フォントサイズを設定 */
  text-decoration: none; /* テキスト装飾をなしに設定 */
  display: flex; /* フレックスボックスレイアウトを使用 */
  flex-direction: column; /* 縦に要素を並べる */
  align-items: center; /* 要素を中央揃え */
  justify-content: center; /* 要素を中央揃え */
  transition: background-color 0.3s ease; /* 背景色の変更をスムーズに */
}

この部分のコードでは、リンク要素をフレックスアイテムとして扱い、中央揃えにしています。また、背景色、文字色、フォントサイズなどを設定しています。

リンクにアイコンを含める場合のスタイル設定

/* リンクにアイコンを含める場合のスタイル */
.footermenu a .icon {
  display: block; /* ブロック要素として表示 */
  font-size: 24px; /* アイコンのフォントサイズを設定 */
  margin-bottom: 5px; /* 下に余白を設定 */
}

この部分のコードでは、アイコンをブロック要素として表示し、フォントサイズと余白を設定しています。

ホバー時のスタイル設定

/* ホバー時のスタイル */
.footermenu a:hover {
  background-color: #45a049; /* ホバー時の背景色を変更 */
}

この部分のコードでは、リンクにマウスを乗せた時に背景色が変わるように設定しています。

メディアクエリでのレスポンシブデザイン

/* メディアクエリでのレスポンシブデザイン */
@media (max-width: 600px) {
  .footermenu a {
    font-size: 14px; /* フォントサイズを小さく設定 */
  }

  .footermenu a .icon {
    font-size: 20px; /* アイコンのフォントサイズを小さく設定 */
  }
}

この部分のコードでは、画面幅が600px以下の場合にフォントサイズとアイコンサイズを小さくするように設定しています。

 

 

 

 

Thunderbirdの動作が遅いと感じる場合、グローバル検索データベースの再構築がひとつの対策となります。以下の手順に従うことで、パフォーマンスの改善が期待できます。

目次

  1. Thunderbirdを終了する

  2. プロファイルフォルダを開く

  3. 隠しファイルを表示する設定 (Windowsの場合)

  4. プロファイルフォルダの場所を開く

  5. global-messages-db.sqliteファイルを削除

  6. Thunderbirdを再起動する

  7. まとめ

Thunderbirdを終了する

まず、Thunderbirdを完全に終了させます。

タスクバーのThunderbirdアイコンを右クリックし、「終了」を選択します。または、Thunderbirdウィンドウの右上にある「×」ボタンをクリックして閉じます。

プロファイルフォルダを開く

次に、プロファイルフォルダの場所を確認します。

通常、以下のパスにあります。

C:\Users\(ユーザープロファイル名)\AppData\Roaming\Thunderbird\Profiles\(ランダム文字).default
※AppDataフォルダは隠しフォルダなので、表示設定を変更して隠しファイルを表示する必要があります。

隠しファイルを表示する設定 (Windowsの場合)

  1. エクスプローラーを開きます(Winキー + E)。

  2. 上部の「表示」タブをクリックします。

  3. 「表示」タブ内の「オプション」をクリックし、「フォルダーオプション」ウィンドウを開きます。

  4. 「表示」タブを選択し、「隠しファイル、隠しフォルダー、および隠しドライブを表示する」にチェックを入れます。

  5. 「OK」をクリックして設定を保存します。

プロファイルフォルダの場所を開く

  1. エクスプローラーに以下のパスを入力してアクセスします:

C:\Users\(ユーザープロファイル名)\AppData\Roaming\Thunderbird\Profiles\
  1. (ユーザープロファイル名)の部分は、あなたのWindowsのユーザー名に置き換えます。

  2. プロファイルフォルダには、通常「(ランダム文字).default」というフォルダがあります。このフォルダを開きます。

global-messages-db.sqliteファイルを削除

  1. プロファイルフォルダ内にあるglobal-messages-db.sqliteファイルを見つけます。

  2. このファイルをフォルダ内から削除(移動)します。

 

画像
 

※ファイル自体を削除するとファイルが消滅するので、マイドキュメントなど、ひとまず別のフォルダに移動しておいた望ましいです。

なお、こちらの処置によってメールソフトがクラッシュする可能性もありますので、操作は慎重に行ってください。自信が無い場合は、詳しい方にお願いする方が安全です。

Thunderbirdを再起動する

  1. Thunderbirdを再起動します。

  2. Thunderbirdが起動すると、自動的にグローバル検索データベースの再構築が開始されます。

画像
 

データベースのサイズが15GBから1.18MBに縮小し、容量が改善されました。

 

 

 

 

目次

  1. PowerPointのライブプレゼンテーション機能とは?

  2. ライブプレゼンテーション機能の主な特徴

  3. PowerPointでプレゼンテーションを開く(ライブプレゼンテーションを開始する手順)

  4. ライブプレゼンテーションを開始する

  5. QRコードまたはリンクを視聴者と共有する

  6. プレゼンテーションの実施

  7. 翻訳

  8. スライド終了

  9. まとめ

PowerPointのライブプレゼンテーション機能とは?PowerPointのライブプレゼンテーション機能とは?

PowerPointのライブプレゼンテーション機能は、プレゼンテーションをブラウザ経由で相手にリアルタイムで表示させるための便利なツールです。

Microsoft Web版 Microsoft 365で使用できます。

Sign in to your accountwww.microsoft365.com

 

画像
 

 

プレゼンターにとっても、視聴者にも、リアルタイムでスライドを表示することができて便利な機能です。

ライブプレゼンテーション機能の主な特徴

  • リアルタイムでのスライド共有: 視聴者は、プレゼンターが進めるにつれて自分のデバイスでスライドを見ることができます。

  • 多言語の自動翻訳: 視聴者は、プレゼンテーションを自分の言語に翻訳するオプションを選ぶことができます。

  • フィードバック: 視聴者は、プレゼンテーション中にリアクションを投稿できます。

 

画像
 

 

PowerPointでプレゼンテーションを開く(ライブプレゼンテーションを開始する手順)

ライブプレゼンテーションを開始する手順です。 まず、プレゼンテーションを開き、[スライド ショー] タブをクリックします。

 

画像
 

 

 

ライブプレゼンテーションを開始する

[スライド ショー] タブの中にある [ライブプレゼンテーション] を選択し、[プレゼンテーションの開始] をクリックします。

 

画像
 

※対象ユーザーは標準で「すべてのユーザー」になっているようです。

QRコードまたはリンクを視聴者と共有する

画面に表示されるQRコードまたはリンクを視聴者と共有します。

視聴者は、このQRコードをスキャンするか、リンクにアクセスすることで、自分のデバイスからプレゼンテーションをフォローできます。

 

 

画像
 

 

 

 

 

72330/

 

 

GoogleフォームにURLパラメータを使って初期値を設定する方法について解説します。この方法を使うと、ユーザーがフォームを開いたときに特定のフィールドに初期値を自動的に設定できます。

目次

  1. フォームを作成する

  2. フォームのURLを取得する

  3. フィールドIDを確認する

  4. URLにパラメータを追加する

  5. 初期値を設定する

  6. URLを共有する

  7. まとめ

フォームを作成する

まず、Googleフォームを作成し、必要な質問を追加します。以下の例では、「メモ」と「関数」のフィールドを使用します。

 

画像
 

 

フォームのURLを取得する

フォームを完成させたら、フォームの送信URLを取得します。

Googleフォームの編集画面で、右上の「送信」ボタンをクリックし、「リンク」のアイコンを選択します。ここで表示されるURLをコピーします。

 

画像
 

 

フィールドIDを確認する

初期値を設定するためには、各フィールドのIDを確認する必要があります。以下の手順でフィールドIDを確認します:

  1. フォームのプレビューを開く: フォームの編集画面で「プレビュー」アイコンをクリックします。

  2. ページのソースを表示: プレビュー画面で右クリックし、「ページのソースを表示」を選択します。

  3. フィールドのIDを探す: ソースコード内で、設定したいフィールドの<input>タグを見つけます。例えば、「名前」フィールドの場合、以下のようなタグが見つかるはずです:<input type="text" name="entry.123456789" ...> ここで、name属性の値(この場合はentry.123456789)がフィールドIDです。

 

画像
 

 

URLにパラメータを追加する

フィールドIDが分かったら、以下の形式でURLにパラメータを追加します。

https://docs.google.com/forms/d/e/1FAIpQLSf.../viewform?usp=pp_url&entry.<フィールドID>=<初期値>


複数のフィールドに初期値を設定したい場合は、&でパラメータをつなげます。

初期値を設定する

フィールドIDが分かったら、以下の形式でURLにパラメータを追加します。

https://docs.google.com/forms/d/e/1FAIpQLSf.../viewform?usp=pp_url&entry.<フィールドID>=<初期値>


例えば、「関数」フィールドに「初期値」を設定する場合、以下のようになります。

https://docs.google.com/forms/d/e/1FAIpQLSf.../viewform?usp=pp_url&entry.1513169554=初期値

 

URLを共有する

作成したURLをユーザーに共有します。

このURLを使ってフォームにアクセスすると、指定した初期値が自動的にフィールドに入力されていることを確認できます。