2019年6月28日金曜日

端末からクリップボードへコピーについて

あまプロではターミナルからクリップボードへコピーする場合があります。

コマンドでクリップボードにコピーする方法をあメログ。

xclip -sel clip < 適当なファイル名

xclipがインストールされてない場合は適宜インストールして下さい。

2019年6月24日月曜日

グーグルフォームの回答のコピーメールについて

あまプロではフォームの作成をお受けする事が有ります。

グーグルフォームを良く使うのですが、初期設定だと少し使い難いので、あメログ。

グーグルフォームには回答のコピーをメールで送信する機能が有ります。
しかし、このメールをHTML未対応(テキスト形式のみスマホの標準メーラ等)のメーラで受信するとかなり見難くなります。

致命的なのが、チェックボックスやドロップダウンリストで選択項目が送られません。
つまりフォームで何を選択したか確認できないのです。

この不具合はいつかは改修されるかもしれませんが、GoogleAppsScriptを使えば今から改修できます。

サンプルはこんな感じ。
function submitForm(e)
{
  var vName = 'グーグルフォーム';
  var vFrom = 'form@google.com';
  var vTo   = e.response.getRespondentEmail( );
  var vSub  = 'グーグルフォーム内容確認';
  var vBody = 'フォームの内容の写しをお送りします。\n\n';
  for( var i in e.response.getItemResponses( ))
  {
    vBody += e.response.getItemResponses( )[ i].getItem( ).getTitle( ) +' '+ e.response.getItemResponses( )[ i].getResponse( ) +'\n';
  }
  MailApp.sendEmail( {from:vFrom, to:vTo, subject:vSub, name:vName, body:vBody});
}
グーグルフォーム側ではメールアドレスを収集するにチェックを付け、回答のコピーを送信のチェックは外す
プロジェクトのトリガーでフォーム送信時にスクリプトを実行する様に設定するだけです。
フォームの入力内容をメール本文に出力しているだなので、適宜メール本文は編集して下さい。

2019年6月9日日曜日

ExcelのVBAで文字列の中でダブルクオーテーションを使う

あまプロでは表計算のマクロ(スクリプト)の授業を行う事が有ります。
先日、文字列の扱いで質問が出たのであメログ。

LibreOfficeでもGoogleAppsScriptでもExcelでも文字列はダブルクオーテーションでくくります。
MsgBox "こんな感じ"

で、文字列内でダブルクオーテーションを使いたい場合はエスケープする必要が有ります。

LibreOfficeとExcelではこんな感じ
  MsgBox "これが""ダブルクオーテーション""です。"
GoogleAppsScriptではこんな感じ
  Logger.log( "これが\"ダブルクオーテーション\"です。")

例えばマクロで表計算の関数を出力したいとかはこの様にします。