QESS - Quick Entry Spread Sheet
「QESS pro」は有料版、「QESS std」は広告表示版です (「QESS free」から名称変更)。
Copyright 2017, Yoshiaki Watanabe
入力の効率化に重点を置いたスプレッドシートアプリです。編集可能なレイアウトのキーパッドを使い、 ワンタッチで複数文字入力やセル間移動を行うことができます。
モバイル環境において、出欠確認や成績評価、チェックリスト入力、計数、アンケート入力、小遣い帳、旅行メモのような定型入力を行う際に便利でしょう。
本ソフトウェアは無保証です。このソフトウェアに関係して損害・不利益等が発生しても一切の責任を負いません。
このソフトウェアは、Apache License 2.0(http://www.apache.org/licenses/LICENSE-2.0)の下で公開されている以下のライブラリを使用しています。
このソフトウェアは、Mozilla Public License 1.1(https://www.mozilla.org/en-US/MPL/1.1/)の下で公開されている以下のライブラリを使用しています。
このソフトウエアは、カメラ、マイクのパーミッションを要求します。このパーミッションは必須ではありません。 カメラはフォト、ビデオまたはQRコードを取得してスプレッドシートに追加するために用います。 マイクは音声認識テキストまたはサウンドを取得してスプレッドシートに追加するために用います。
このソフトウエアはネットワークを使用します。 ネットワークは、広告表示、ホームページ表示のために用います。またスプレッドシートデータ送受信のために用います。 ただしスプレッドシートデータの送受信は、利用者の指示なしには行いません。このソフトウェアは、ユーザーの個人データの収集を行いません。
本ドキュメントはアプリに同梱していますが、スマホの小画面では見づらいです。
下のサポートWebページに、本ドキュメントやその他の情報を置いていますので、
PCなどの大画面で見ることを薦めます。
https://qess-free.web.app/ja/
(このページ記述はQESS-stdとQESS-proに共通です)
QESSのアイコンをタッチして起動します。 起動すると、 入力欄、スプレッドシートとキーパッドからなる画面を表示します。
メイン画面を下に示します。 下端(M)のキーパッド部分はアイコン(C)で選択したレイアウトファイルによって変化します。 レイアウトファイルは自由に編集できます。
A | バック(戻る)ボタン |
B | ファイル名(データ編集時はデータファイル名、キーパッドレイアウト編集時はレイアウトファイル名) |
C | キーパッドレイアウトファイル選択 |
D | オプションメニュー |
E | 現在セル(入力対象のセル)の座標 |
F | 入力バー(タッチでシステムキーボードに切替、長押しでフルスクリーン編集) |
G | 音声認識入力 |
H | シート番号(長押しでコンテキストメニュー、ドラッグでシート全体範囲指定) |
I | 列記号(長押しでコンテキストメニュー、ドラッグで列範囲指定) |
J | 行番号(長押しでコンテキストメニュー、ドラッグで行範囲指定) |
K | 通常セル(タッチで現在セルに設定、長押しでコンテキストメニュー、ダブルタップでテキスト全画面編集またはメディアを開く) |
L | 現在セル(入力対象のセル、長押しとダブルタップは通常セルと同、ドラッグでセル範囲指定) |
M | キーパッド(編集可能、キータッチするとレイアウトファイルで定義した手順を実行、長押しでレイアウト編集モード) |
本アプリは、シートデータ保存のためのファイルとキーパッドレイアウト設定のためのファイルの2つを使用します。 最初に、アクションバー右端のメニューアイコン(C/D)から、それらを選択して下さい。
アーカイブに以下のようなサンプルレイアウトを同梱しています。 これらを参考にして自分で修正・作成することもできます。
sampleScoring | 5段階評価をリストの先頭から順に入れます。 |
sampleAttendance | 出欠記録をリストの先頭から順に入れます。 |
sampleBasicCalc | 基本電卓を実現します。 |
sampleSciCalc | 関数電卓を実現します。 |
sampleChecking | チェックマークを追加・削除します。 |
sampleCounter | 何かを計数します。 |
sampleCounter2 | 何かを3つに分類して計数します。 |
sampleLogging | 開始・終了の時間履歴を記録します。 |
sampleQuestionnaire | アンケートを記入します。 |
sampleCashcalc | 小遣い帳電卓を実現します。 |
sampleCommands | 様々なQESSのコマンドを試すものです。 |
sampleJump | 条件付き実行やループを試すものです。 |
sampleFormula | 数式の実行を試すものです。数式は範囲の両隅を指定してから実行します。 |
sampleMultimodal | 音声認識入力、QRコード/バーコード入力、テキスト読み上げ、メディアの取得を試すものです。 |
sampleJavaScript | JavaScriptの実行を試すものです。 |
sampleRpnCalc | RPN電卓をJavaScriptを使って実現します。 |
sampleLogCalc | 履歴付き電卓をJavaScriptを使って実現します。 |
nullKeypad | キーパッドを非表示にするものです。ゼロ個のキーを定義しています。 |
sampleMenuCmd | コマンド<MENU menuItem>の使用例を示します。 直接のコマンドがあればそちらを使って下さい。 |
sampleShare | 共有を試すものです。共有先のアプリがインストールされてないときはエラーを表示します。 |
sampleSymbols | 各種記号を入力します。 |
sampleKeyShortcut | 物理キーボード接続時に有用なキーショートカット設定の例です(画面上のボタンは無表示)。 |
これらのサンプルは、各利用者が用途に合わせて編集できます。 上記のサンプルが見つからないときは、「ファイル管理»サンプルファイルの初期化」でサンプルをロードし直してください。
サンプルファイルの初期化を行うと、サンプルファイルは最初の状態に戻ります。 サンプルを修正したときは、別名のファイルに保存することを薦めます。
「メニュー»設定»レイアウト編集モード」をチェックするとレイアウト設定の編集ができます。 チェックを外すと編集結果を試せます。 またはキーパッドを長押ししても編集モードに移行します。 具体的な説明は後述のレイアウト編集にあります。
詳細なサンプルレイアウトの説明やレイアウトの編集方法などは、サポートWebページ上に置きます。
スプレッドシート内のセルをタッチし、キーパッドを使って入力します。現在セル(赤フレームのセル)が入力の対象です。 現在セルは編集用の値を表示します。
画面上部の入力バーをタッチすると、入力手段がキーパッドからシステムキーボードに変わります。 入力バーを長押しすると、フルスクリーン編集ができます(フルスクリーン編集はセルをダブルタップしても開きます)。
先頭に「'」を付けて入力すると文字列、「=」を付けて入れると数式(Excel Formula)となります。 それ以外は、数値に変換できれば数値、できなければ文字列となります。以下は入力例です。
入力 | 実際の入力値 | 解釈 |
' | 文字列:null | 空文字列 |
'ABC | 文字列:ABC | 先頭が「'」は文字列 |
ABC | 文字列:ABC | 数値に変換不可 |
'123 | 文字列:123 | 先頭が「'」は文字列 |
123 | 数値:123 | 数値に変換可 |
123X | 文字列:123X | 数値に変換不可 |
=1+23 | 数式:1+23 | 先頭が「=」は数式 |
=SUM(A1:B2) | 数式:SUM(A1:B2) | 先頭が「=」は数式 |
'=1+23 | 文字列:=1+23 | 先頭が「'」は文字列 |
1+23 | 文字列:1+23 | 数値に変換不可 |
=ABC | 文字列:=ABC | 数式として解釈不可 |
メニューから「データ型変更」を選択するとデータ型を変更できます。 データ型の詳細は後述します。
改行文字の入力・表示は「\n」です。フルスクリーン編集においては本来の改行キーを使えます。 タブ文字の入力・表示は「\t」です。
アクションバー右端のメニューアイコン(D)をタッチすると、オプションメニューを表示します。
また、スプレッドシート上のセルやヘッダの行番号・列記号表示を長押しすると、コンテキストメニューを表示します。
オプションメニューの一覧をメニュー項目に示します。 コンテキストメニューには長押しした要素に関連するメニュー項目を表示します。
Backキーを押すことで終了します。データは自動保存します。
複数セルからなる範囲を指定して各種操作を実行するには、以下のようにします。
セル範囲を指定してから行や列の操作を行うと、その範囲に含まれる行や列が操作の対象となります。 例えば「C1:D2」を範囲指定して列の非表示を行うと、C列とD列が非表示になります。 現在セルの行/列のヘッダーをドラッグして、行範囲/列範囲を指定することもできます。
一つのセルから一つのセルへコピー・貼り付けを行うには、 コピー元セルを長押しして表示されるメニューから「コピー」を選択し、次に貼り付け先セルを長押しして表示されるメニューから「貼り付け」を選択します。
コピー元や貼り付け先を複数セルにするには、セル範囲選択の操作をしてから、コピーや貼り付けを行って下さい。 以下は、複数セルからコピーして複数セルへ貼り付ける手順です。
「コピー」を指示すると、アプリはコピー元の範囲を点線でマークします。 さらに範囲内のテキストをクリップボードにコピーします。 「貼り付け」の段階で、コピー元範囲がマークされていれば、そこから貼り付け先範囲へセル情報を含めてコピーします。 マークされていなければ、クリップボードのテキストを、貼り付け先範囲に貼り付けます。
Backキーを押すと、コピー元範囲のマークを取り消しますが、クリップボードのテキストは残ります。 この段階で貼り付けを行うと、セル情報を含まないテキストのみを貼り付けます。
セル範囲を貼り付けた場合、現在セルは貼り付け範囲の下に移動します(「設定>Enterキーの動作」で右を設定すると右になります)。 列範囲を貼り付けた場合は右に、行範囲では下に移動します。
セル参照は、計算の記述などにおいて、セルの座標を表現する文字列です。 本アプリでは、ExcelのA1形式とR1C1形式が使えます。共に大文字小文字を区別しません。
A1形式はExcel等の表計算ソフトで一般的に使われる形式です。 列を「A,B,C..」と、左から順に表記し、行を「1,2,3,..」と、上から順に表記します。
「A1」が左上端のセルです。「B1」がその右、「A2」がその下のセルです。 '$'を付けると絶対指定、付けないと相対指定になります。
R1C1形式もExcel等がサポートする形式です。行(Row)を「R1,R2,R3..」と上から順に表記し、 列(Column)を「C1,C2,C3..」と左から順に表記します。
「R1C1」が左上端のセルです。「R1C2」がその右、「R2C1」がその下のセルです。 これらは左上端を(1,1)とする絶対指定です。 「R[1]C[-1]」のように'[ ]'でインデクスを囲むと相対指定になります。 「R[1]C[-1]」は現在セルの1行下(Rowが+1)で1列左(Columnが-1)のセルを意味します。
R1C1形式の記述例を示します。
R2C3 | 第2行第3列のセル |
R2C[3] | 第2行で現在セルの3列右のセル |
R[0]C[-1] | 現在セルと同じ行で1列左のセル |
RC[-1] | 上と同等の記述。省略は'[0]'記述と解釈 |
R1C | 第1行で現在セルと同じ列のセル。つまり現在列の上端 |
RC1 | 現在セルと同じ行の第1列のセル。つまり現在行の左端 |
RC | 現在セル |
RC10 | 現在セルと同じ行で第10列のセル |
例「RC1」や「RC10」は、A1形式としても解釈できます。 しかし本アプリでは、R1C1形式としての解釈を優先し、解釈できない場合にA1形式とみなします。
本アプリにおけるセルデータの計算には、数式(Formula)と算術式が使用できます。
数式(Formula)は、Excel等の表計算ソフトで使える数式です(例:'SUM(A1:B2)', 'A1+B1')。 先頭に'='を付加してセルに記述します(例:'=SUM(A1:B2)')。 または先頭に'='を付加せず文字列としてセルに記述してから、メニュー中の「データ型変更」で数式にします。 数式内のセル参照にR1C1形式は使用できません(例:'SUM(R1C1:R2C2)'は不可)。
算術式は、本アプリ独自の仕様です。算術式には、加減乗除演算子と括弧、 それにA1形式とR1C1形式の両方のセル参照を記述できます。 関数はサポートしません。 算術式は文字列としてセルに記述します。評価コマンド<EVAL>を実行すると、セルの値を計算結果に置き換えます。 また、算術式を記述してから「データ型変更」で数値に変更しても計算できます。 評価の時点で開きカッコが不足していれば、式の先頭に不足分の開きカッコを付加して評価します。 また閉じカッコが不足していれば、式の末尾に閉じカッコを付加して評価します。 セル参照は再帰的に評価して計算します。
算術式の評価例を示します。
1+2*3 | 7 |
(1+2)*3 | 9 |
2+3)*2+1)*2 | 22 |
((2+3)*2+1 | 11 |
RC[-1]+1 | 左に隣接セルが2の時、3 |
RC[1]+R[-1]C | 右に隣接セルが2、上に隣接セルが3の時、5 |
QESSは以下のデータ型および表示フォーマットを持ちます。 ただし、テキストファイル(拡張子=CSV,TSV,TXT)を指定している場合は、全てフォーマットなしの文字列として保存します。 多様なデータ型/表示フォーマットを使う場合は、データファイルのメニューで、拡張子がXLSまたはXLSXのファイルに変換して下さい。
データ型 |
---|
数値(Numeric) |
数式(Formula) |
文字列(String) |
表示フォーマット |
---|
日付(Date) |
時間(Time) |
日時(DateTime) |
ユーザ定義1(UserDef1) |
ユーザ定義2(UserDef2) |
多数の組込フォーマット |
これらはExcelと互換性を持ちます。
各フォーマット(組込を除く)はメニュー内で編集できます。
ユーザ定義1・ユーザー定義2のフォーマット初期設定は、3桁区切りと通貨表示です。 フォーマットは文字列には影響しません。
QESSは、テキスト共有の送信と受信の両方の機能を持ちます。
他のアプリにおいて、「共有」機能を選択した場合、QESSが共有先の一覧に表示されます。 QESSは、「メニュー»設定»クリップボードテキスト形式」に従って解釈・分割し、現在セルから配置します。 クリップボードテキスト形式が「.txt」の時は、セル分離の文字を「メニュー»設定».txt形式における区切り文字」で指定できます。 「メニュー»設定»共有テキストデータを生のままで扱う」にチェックを入れると、解釈・分割せずに、 現在セルに全テキストを配置します。現在セルは貼り付け範囲の下に移動します(「設定>Enterキーの動作」で右を設定すると右になります)。QESSにおいてメニューから「共有」を選択した場合、共有先一覧を表示します。 共有先に送るのは、セル・行・列・シートもしくは範囲から、クリップボードテキスト形式で取得したテキストです。 セルメニューから呼び出した場合は、セルもしくは範囲指定した複数セルから取得します。 行メニューから呼び出した場合は、行もしくは範囲指定した複数行から取得します。 列メニューから呼び出した場合は、列もしくは範囲指定した複数列から取得します。 シートメニューから呼び出した場合は、シートから取得します。
メディアファイルを共有するには「共有(メディア)」を利用下さい。もしくは「メニュー»ファイル管理»基本操作」が表示する画面で、 共有ボタンを利用下さい。
共有機能の無いアプリの場合は、クリップボード経由のコピー・貼り付けを使って下さい。
キーに割り当てることもできます。 詳細は共有設定に記述します。
「テキスト読み上げ」機能を使って指定範囲内のセル内容を読み上げることができます。 読み上げはメニューから呼び出すことも、またキーに割り当てることもできます。 読み上げは標準では列方向(水平方向)が優先です。指定範囲内を列方向に順に読み上げて、終わったら次の行に進みます。 設定で行方向(垂直方向)優先に変更できます。 読み上げはBackキーで中断します。 各列および各行のテキスト読み上げの間に挿入する無音期間を設定で指定できます。 TTSの使用には、言語の指定と音声データのインストールが必要です。Androidの設定メニューから行って下さい。
入力を効率化する副画面を用意しました。
一つは数式入力の支援画面です。計算範囲や関数名の指定がより簡単になります。
使用は次の通りです。
もう一つは、連続データ入力の支援画面です。一連の数値を複数のセルに入れることが簡単になります。 曜日や月の名称など、数値以外の連続データはサポートしていません。
セル操作のメニューから「連続データ入力」を選択すると、上の画面が表示されます。 画面上の各要素は以下を意味します。
シートのメニューから「文字列の探索/置換」を選択するか、設定の「文字列探索/置換バーの表示」にチェックを入れると、 探索/置換のバーを画面上部に表示します。
「下方探索」/「上方探索」のボタンを押すと探索文字列を上/下方向に探索します。 「置換」のボタンを押すと、現在セル内の探索文字列を置換文字列に置き換えます。
探索置換バーの右下端の3ドットアイコンを押すと、大文字小文字を区別した探索、及び正規表現探索への切替ができます。
正規表現探索の場合、「先頭置換」ボタンは、現在セル内で正規表現に最初にマッチした文字列の置換を、 「全て置換」は現在セル内でマッチした全ての文字列の置換を実行します。
このアプリはメディア(Image, Video, Audio)を扱えます。
セルにメディアファイルを設定するには、以下の方法があります。
メディアファイルを開くには、セルをダブルタップします。
Excel互換の形式ではありません。 別に保存したメディアファイルを参照する形式で実現します。 メディアファイルは、ファイルの節で示すフォルダに保存します。 セルにはメディアファイル名を入れます。 また可能ならばサムネイル表示をします。
セルに表示したファイル名を変更するときは、セルメニューの「メディア名変更」を使って下さい。 セル表示名を直接変更すると参照関係が壊れます。 また、Excelファイルを外部に移行する場合も参照関係が切れます。
このアプリは以下のグラフを描画できます。
折れ線グラフ、積み上げ棒グラフ、グループ棒グラフ、円グラフ、散布図、レーダーチャート、 バブルチャート、ローソク足チャート描画データのセル範囲を指定して、セルのメニューから「グラフ描画」を選択して下さい。 描画結果を保存して、シートにリンクすることができます。 詳しくはグラフ描画画面のヘルプを参照してください。
現ワークブックまたはファイルからSQLiteテーブルを作成できます。そのテーブルの検索結果はシートに貼り付けることができます。
範囲を指定して、セル/行/列/シートのメニューから「SQLクエリ」を選択して下さい。 大きいデータの一部のみを必要とするときに有用でしょう。 詳しくはSQLクエリ画面のヘルプを参照してください。
「範囲」は現シート内の印刷する領域を、「枠・罫線・塗り」は描画の有無を意味します。 「拡大縮小」は、「比率」もしくは縦・横に収める「ページ数」で指定します 拡大縮小は10%から400%の間に制限します。 幅または高さ方向のページ数を省略すると、その方向はページ数制限なしになります。 縦方向のページ数を指定した時は、自動セル高さを一時的にオフにして印刷します。 ヘッダー・フッターには任意の文字列および「定義済み要素」(ページ番号等)を組み合わせて 指定できます。
用紙サイズ、部数、ページ範囲、縦横方向、モノクロ印刷、出力先等は、次のプレビュー画面で指定します。
QESSは物理キーボードを接続して使用できます。文字入力は、フォーカスが入力バーにあるときに可能です。 物理キーボードで、フォーカスを入力バーにするにはEnterキーを使います。逆に入力バーから外すには矢印キーを使います。 フォーカスが入力バーにあるときは、ソフトキーボードと同等の動作になります。 フォーカスが入力バーにないときは、矢印キーとTabキーで現セルの移動、BackSpaceキーで現セルの内容消去ができます。
さらにレイアウトファイルにキーショートカット設定を記述することが出来ます。 詳しくは下記のショートカット設定を参照下さい。
Excel等の表計算ソフトとデータファイル互換ですが、大多数の表示スタイルやグラッフィクスなどはこのアプリ上では再現できません。 表計算ソフトでの既存設定はできるだけ壊さないようにしていますが保証できません。 バックアップを取った、単純な形式のファイルを使用して下さい。
ファイルは画面を回転した時やファイル一覧などの画面に切り替えた時に保存します。
データファイルは以下に示すアプリフォルダ下に保存します。 ここは、Android OSのバージョンによってはできません。 この場合、USBケーブルでPCと接続してアクセスしてください。 またはファイルを「ファイル管理>ファイルエクスポート」で共有フォルダにコピーして下さい。
アプリでは「storage/」は、「内部ストレージ」、「storage/emulated/0/」等と表記されます。
アプリフォルダは用途別に以下のサブフォルダに分割します。
PCと接続しても、PCからファイルが見えないことがあります。 この場合はストレージ・キャッシュのクリアと再接続を行ってみて下さい。 またUSB接続方法が、ファイル転送になっていることを確認してください。
PCや他のアプリとの間でファイル交換する際に、文字セットの違いで文字化けすることがあります。 本アプリでテキストファイル(.csv, .tsv, .txt)を読み書きするときは、文字セットを自動検出しますが、 完璧ではありません。文字化けするときは適切な文字セットをメニュー内で手動選択してください。 クリップボードテキストの文字セットはUTF-8です。
メニュー»ファイル管理»基本操作」で、ファイル管理の基本的な操作ができます。
下部のボタンで、ファイルのコピー、名前変更、削除、共有が行えます。 またサブフォルダ作成は、画面上部のフォルダアイコン を 使います。ファイルやフォルダの内容を見るには、ファイルリスト左端のサムネール/アイコンをタッチしてください。 ただしシートデータは簡易表示(テキストファイルは生データ)です。完全な表示には、ファイルを長押しして「開く」を選択してください。
コピー・名前変更の出力先ファイルが存在する場合は、上書きを防止するためにサフィックスを付加します。
キーパッド上のコマンドボタンを長押しすると、レイアウト編集モードに移行します。 または「メニュー»設定»レイアウト編集モード」にチェックを入れます。
レイアウトの修正は、基本となるファイルから「メニュー»レイアウトファイル»名前を付けて保存」 で作成した別ファイルで行うことを薦めます。 付属のサンプルファイルは、トラブル時に初期状態に書き戻されることがあります。
レイアウト編集モードを抜けるには、画面右上端のXアイコンをクリックするか、「メニュー»設定»レイアウト編集モード」のチェックを外します。
以下にレイアウト例を示します。
下図のキーパッドを表示するレイアウトファイルは以下の通りです。
ColumnCount | 3 | ||
ButtonText | Good | Bad | Clear |
ButtonCommand | good<DOWN> | bad<DOWN> | <CLR> |
ColumnCountは、横方向の分割カラム数です。ここでは3カラムに分割してボタンを配置しています。 ColumnCountを2にすると、1行目に2つ、2行目に1つのボタンを配置します。また1にすると、縦に3つのボタンを配置します。
ButtonTextは、各ボタンに表記する文字列です。ここでは、3つのボタンに「Good」「Bad」「Clear」と表記します。
ButtonCommandは、各ボタンをタッチしたときに実行するコマンド列です。 <DOWN>は現在セルを下方のセルへ移動するコマンド、<CLR>は現在セルをクリアするコマンドです。 単なる文字列の記述は、その文字列の現在セルへの追加です。
「Good」表記のボタンをタッチすると、現在セルに「good」を追加して下のセルに移動します。 「Bad」表記のボタンをタッチすると、現在セルに「bad」を追加して下のセルに移動します。 「Clear」表記のボタンをタッチすると、現在セルの内容をクリアします。
このレイアウト設定は、何らかのリストに対して、各行の項目の良否を上から下へ順に付けていくことを想定しています。
次はもう少し複雑なレイアウトです。
ColumnCount | 8 | |||||
RowHeight | 48 | |||||
ButtonText | Chk | < | ^ | > | Unchk | v |
ButtonTextSize | 16 | 16 | 16 | 16 | 16 | 16 |
ButtonTextColor | ||||||
ButtonCommand | ✔ | <LEFT> | <UP> | <RIGHT> | <BS> | <DOWN> |
ButtonColumnSpan | 2 | 1 | 2 | 1 | 2 | 2 |
ButtonRowSpan | 2 | 2 | 1 | 2 | 2 | 1 |
ButtonBackColor | #FFFFEEEE | #FFEEFFFF | #FFEEFFFF | #FFEEFFFF | #FFFFEEEE | #FFEEFFFF |
CommandsAtLoading | <RIGHT><DOWN> |
このレイアウトでは8カラムを使用しています。横に長いボタンが2カラム分、横に短いボタンが1カラム分を使っています。 2カラム幅のボタンが3つと1カラム幅のボタンが2つで、合計8カラム分となります。
各ボタンの列方向・行方向の広がりは、ButtonColumnSpanとButtonRowSpanで指定します。 例えば「Chk」表記のボタンは、列方向・行方向ともに2つ分です。「<」表記のボタンは列方向に1つ分、行方向に2つ分です。
CommandsAtLoadingは、レイアウトファイルがロードされるときに実行されるコマンド列です (注意:データファイルとレイアウトファイルは、QESSがメイン画面に戻るときにもロードします)。 他の指定項目は名称から分かると思います。省略すればDefault値が使われます。
Color設定で使われている'#FFEEFFEE'はARGB値です。Alpha、Red、Green、Blueの16進2桁数値が並びます。 Alphaは不透明度であり、'00'が完全に透明、'FF'が完全に不透明です。 Red、Green、Blueは赤、緑、青の混合量です。 '#FFEEFFEE'は、緑を最大値('FF')にして、赤と青を最大値から少し弱めて('EE')混合した完全不透明の色です。
ボタンは指定順に詰めて行きます。その行に入らない場合は次々に行を追加してボタンを配置します。
各キーのタッチで実行されるコマンドは、チェック記号「✔」の現在セルへの追加と、上下左右のセル移動「<UP><DOWN><LEFT><RIGHT>」、 それにBackSpace「<BS>」です。つまりこのレイアウトは、セルを移動しながらチェックを付けたり外したりする用途を想定しています。
レイアウトファイルには、物理キーボード接続時に有用なキーショートカットも記述できます。 ただしQESSの全操作を、キーボードのみで行うことはできません。 下に記述例を示します。
# キー | コマンド | コメント |
Ctrl+Up | <GO R[-10]C> | 10行上へ移動 |
Ctrl+Down | <GO R[10]C> | 10行下へ移動 |
Alt+M | <MENU> | メニュー表示 |
同梱のサンプルsampleKeyShortcut.xlsxはソフトキーパッドなし、ショートカット記述のみのレイアウトファイルです。 これをベースにして編集して下さい。 ファイルが見つからないときは、「メニュー>ファイル管理>サンプルファイルの初期化」を行って下さい。
その他のサンプルレイアウトやレイアウト編集の説明は、QESSサポートページに載せています。
1つのボタンに長いコマンド列を割り当てることもできます。 使用できるコマンドの一覧をコマンド一覧に示します。 コマンドは'<'と'>'で囲んだ文字列です。大文字・小文字を区別しません。
原則として、操作は現在セル、行・列の操作は現在セルを含む行・列が対象です。 また、範囲選択中の場合は、範囲に含まれるセル・行・列が対象です。
サンプルレイアウトの中で使われているコマンド列のいくつかを解説します。
コマンド列 | <CLR>Good<DOWN> |
動作 | 「現在セルをクリア」 「現在セルに'Good'を追加」 「現在セルを1つ下に」 Goodと入力して次行へ移動する処理です。 |
使用場所 | sampleScoring |
コマンド列 | +1<EVAL> |
動作 | 「現在セルに'+1'を追加」 「現在セルを評価」 現在セルが'3'だった場合、'+1'が追加されて'3+1'になり、それが評価されて、現在セルの値は4となります。 現在セルが空白だった場合、'+1'が評価されて現在セルの値は'1'となります。 |
使用場所 | sampleCounter |
コマンド列 | <GO A1><CLR><GO B1><CLR><GO C1><CLR> |
動作 | 「A1セルに移動」 「クリア」 「B1セルに移動」 「クリア」 「C1セルに移動」 「クリア」 1行目の1,2,3列目のセル内容をクリアします。 |
使用場所 | sampleCounter2 |
コマンド列 | <CLR>Start<RIGHT><CLR><NOW TIME><DOWN><LEFT> |
動作 | 「クリア」 「'Start'を追加」 「右に移動」 「クリア」 「現在時刻を追加」 「下に移動」 「左に移動」 現在セルに'Start'と記入、その右に現在時刻を記入して、Startを記入したセルの下に移動します。 |
使用場所 | sampleLogging |
コマンド列 | <GO RC3><CLR><LISTN Q1> |
動作 | 「RC3セルに移動」 「クリア」 「Q1リストから選択して追加」 現在行の3列目のセルにQ1リストから選択したインデックス番号を入れます(LISTNをLISTに変えると選択した文字列を入れます)。 Q1リストは同じレイアウトファイル中に記述しています。 |
使用場所 | sampleQuestionnaire |
コマンド列 | <JNE A1 x><RIGHT><CLR>Same<LBL x> |
動作 | 「A1セルと相違ならばラベルxへジャンプ」 「右に移動」 「クリア」 「'Same'と追加」 「ラベルx」 現在セルの内容がA1セルと同じならば、右セルに'Same'と記入します(相違ならばコマンド列をジャンプするので記入無しです)。 |
使用場所 | sampleJump |
コマンド列 | <JLMT x 10><LBL x><CLR>AA<DOWN><JMP x> |
動作 | 「ラベルxへのジャンプを10回に制限」 「ラベルx」 「クリア」 「'AA'と追加」 「下へ移動」 「ラベルxへジャンプ」 現在セルから縦に10個のセルに'AA'を記入します。 |
使用場所 | sampleJump |
コマンド列 | IF(A1>0, "A1>0", "A1\<=0")<TYPE FRML> |
動作 | 「文字列追加:IF(A1>0, "A1>0", "A1<=0")」 「データ型を数式に」 IF関数を記述して、データ型を数式にします。「\<」は「<」がコマンド開始記号でなく通常文字であることを意味します。 |
使用場所 |
レイアウトファイルに、コマンド<JS script>を記述することで、JavaScriptを実行できます。 scriptは、直接記述、間接記述、変数設定ができます。その例を下に示します。
ButtonText | Sin | Add | Exec | Sum |
ButtonCommand | <JS x=Qess.takeCellVal();y=Math.sin(x);Qess.putToCell(y);> | <JS script1> | <SETV @var1><RIGHT><JS @var1> | <JS sumScript> |
script1 | x=Qess.takeCellVal(); Qess.right(); y=Qess.takeCellVal(); Qess.right(); z=Number(x)+Number(y); Qess.appendToCell(z); |
sumScript | Qess.range(); range = Qess.takeRangeStr(); Qess.rangeReset(); Qess.right(); Qess.down(); Qess.putToCell("=sum("+range+")"); |
「Sin」キーでは、スクリプトをButtonCommandに直接記述しています。 「Add」キーでは、別行に記述したスクリプトscript1を、ButtonCommandで間接指定しています。 「Exec」キーでは、変数@var1に設定したスクリプトを実行します。 「Sum」キーは間接指定のもう一つの例です。JavaScriptから数式を使っています。
上の記述をしたサンプルファイルsampleJavaScriptをアーカイブに同梱しています (見つからないならばメニューからレイアウトファイルの初期化を選択して下さい)。 sampleJavaScriptをレイアウトファイルとして選択すると、上記のボタンを表示します。 「Sin」キーを任意のセルで押すと、そのセルの値のsin関数を計算します。 2つの横並びのセルに数値を設定して「Add」キーを押すと、加算結果を2セルの右隣セルに追加します。 任意のセルにスクリプト(例:「Qess.putToCell(2+3)」)を設定して、そのセルで「Exec」キーを押すと、セルは「5」(「2+3」の結果)に変わります。 「Sum」キーは、指定した範囲の値の総和を数式「=sum(range)」を使って求めます。 スクリプト中の「takeRangeStr()」を「takeRowStr()」や「takeColStr()」に置き換えると、行や列の総和が得られます。
QESSとのデータ授受は文字列型を基本とします。 数値演算の場合は、script1のようにNumber()で数値に変換して下さい。より実用的なJavaScriptの使用例として、逆ポーランド記法電卓sampleRpnCalcと履歴付き電卓sampleLogCalcを同梱しています。
スクリプトは途中に改行コード(\n)を含むことができます。記述が長くなる場合は、適切に改行を入れて記述して下さい。 JavaScriptコードの編集はフルスクリーン編集使用を推奨します(入力フィールドを長押しすると表示します)。
QESSのほとんどのコマンドは、JavaScriptから「Qess.xxx();」のようにして使用できます。 詳しくは下のコマンド一覧を参照してください。 JavaScriptはRhino実装を使用しています。Rhinoでサポートしていない機能は使えません。
スクリプトに共通の関数を定義する必要がある場合は、CommandsAtLoadingを利用して下さい。 sampleLogCalcに記述例があります。
非同期処理(voice,qrcode,list,listn,listv,dialogなど)からのコールバック関数はJavaScriptに実装していません。 応答を待たずに次の処理を実行します。非同期処理の応答はスクリプトの終了時点で待ちます。 非同期処理の結果が得られてから次の処理を行うには、QESSコマンドとして記述して下さい (例:<JS xxx><VOICE><JS x=Qess.takeCellVal();xxx>)。 もしくはJavaScript内に記述する場合は一度スクリプトを終わってください (例:<JS xxx;Qess.voice()><JS x=Qess.takeCellVal();xxx>)。
対話型処理のために3種のダイアログを用意しました。確認のみを行うdialog0、1つの文字列を受け取るdialog1、Yes/No判断を受け取るdialog2です。 sampleJavaScriptでの使用例を下に示します。
「Help」キーはdialog0の使用例です。「BMI」キーは、 dialog1,dialog2を使って入力を受け付け、結果をdialog0で表示する処理を、JavaScriptで制御しています。
ダイアログの表示内容は、helpTextの例のように、別行に第2列=タイトル、第3列=メッセージとして指定します。 もしくはunitEntry以降のようにタイトルとメッセージを「&」マークで接続した文字列(title&message)で指定します。
ButtonText | Help | BMI |
ButtonCommand | <DIALOG0 helpText> | <JS unitEntry><JS heightEntry><JS weightEntry><JS bmiCalc> |
helpText | Usage | Sin: calc sine function of the current cell value Add: add the current and right adjacent cell values Exec: exec the script described in the current cell BMI: calculate BMI (Body Math Index) These are samples of calling JavaScriptl." |
unitEntry | Qess.clr(); unitMsg="Unit&Use metric system units (cm/kg)?"+String.fromCharCode(10)+"If no, use inch/pound."; Qess.dialog2(unitMsg); | |
heightEntry | metric=Qess.takeCellVal(); Qess.right(); Qess.clr(); heightMsg="Height&Enter your height"; if(metric==1) heightMsg+="(cm)"; else heightMsg+="(inch)"; Qess.dialog1(heightMsg); | |
weightEntry | height=Qess.takeCellVal(); Qess.right(); Qess.clr(); weightMsg="Weight&Enter your weight"; if(metric==1) weightMsg+="(kg)"; else weightMsg+="(pound)"; Qess.dialog1(weightMsg); | |
bmiCalc | weight=Qess.takeCellVal(); Qess.right(); Qess.clr(); if(metric==1){ height = 0.01*height; }else{ height =0.0254 * height; weight=0.45359237 * weight; } bmi = weight/(height*height); bmi=bmi.toFixed(2); Qess.putToCell(bmi); cr=String.fromCharCode(10); bmiMsg="BMI&Your BMI is " + bmi + cr + "(Standard: 18.5-25)"; Qess.dialog0(bmiMsg); |
また下のようにコマンドによって変更することもできます。 第1例FillPinkは色PINKを直接に指定して塗り色を変更します。第2の例FillResetは色指定なしで標準に戻しています。 第3例FillPinkJsはJavaScriptの変数に代入した色名を使っています。使用できる色名の一覧は後のセクションにあります。
フォント色の変更はFILLCOLORの代わりにFONTCOLORを使います。 コマンド実行後に範囲指定は取り消されます。範囲指定を継続するには範囲の退避と復元のコマンド(<RANGE SAVE>/<RANGE RESTORE>)を挟んでください。
ButtonText | FillPink | FillReset | FillPinkJs |
ButtonCommand | <FILLCOLOR PINK> | <FILLCOLOR> | <JS fillPink> |
fillPink | color="PINK"; Qess.fillColor("color"); |
下のテーブルは、サンプルレイアウトファイルsampleShare.xlsxの記述例です。 このファイルが見つからないときは、「メニュー»ファイル管理»サンプルファイルの初期化」で 初期化して下さい。
ButtonText | Share | Share Translate | ShareMedia Photo |
ButtonCommand | <Share> | <Share Translate> | <ShareMedia Photo> |
#Key | Description | PackageName | ClassName |
Photo | Googleフォト | com.google... | com.google... |
Translate | Google翻訳 | com.google... | com.google... |
単に<Share>と記述すると、共有先の候補一覧を表示し、選択した共有先へテキストを送付します。<Share Key>のように、 共有先をKeyで指定した送付も可能です。Keyが省略または空文字("")ならば候補を表示します。 <Share Col Key><Share Row Key><Share Sheet Key>とすると列、行、シート単位の指定となります。
<Share>の代わりに<ShareMedia>を記述すると、メディアファイルの送付となります。
上記では、「共有先候補から選択」、「Goolge翻訳へ送付」、「フォトへメディアファイル送付」を指定しています。 インストールしていないアプリを指定した場合はエラー表示します。
共有先の追加設定は、レイアウト編集モードで、空のセルを長押しして「共有先の設定」を選択します。 すると、上記の設定例の最下段のような記述が指定した行の1-4列目に追加されます。 1列目が共有先を識別するキー、2列目が説明、3列目・4列目が共有先のパッケージ名と クラス名です。 1列目と2列目の文字列は変更可能ですので、分かりやすい記述に変更下さい。 但しkey(1列目)は、空白を含まず、他のレイアウトキーおよび 文字列 "cell" / "col" / "row" / "sheet" と重複しない文字列とします。 大文字・小文字は同一視します。
Androidでは、終了指示がなくても、メモリからアプリが強制削除されることがあるため、 メイン画面が隠されるたびにデータをファイルへ保存し、再表示されると復元して継続するようにしています。
異常終了した場合には、設定が初期値に戻ります。
設定が混乱したときは、「メニュー»設定»QESS設定のリセット」で初期状態へ戻して下さい。 さらに必要ならば、[メニュー»ファイル管理»サンプルファイルの初期化]を実行して下さい。
PCとの間でファイル交換しようとする際のトラブルについては、上記のファイルの項を参照ください。
オプションメニューの項目およびそれと同等のQESSコマンドの一覧表です。 各行の上段がメニュー表記、下段がQESSコマンドです。 オプションメニューはアクションバーの右端アイコンから選択します。 セルなどの要素を長押しで表示するコンテクストメニューには、このうちの関連項目が並びます。 QESSコマンドはレイアウトファイルに記述します。
上段:メニュー表記 下段:QESSコマンド | 説明 | |
---|---|---|
キーパッド変更 <ChangeKeypad> | 使用するキーパッドを切り替えます | |
オプションメニュー <MENU> | 以下のメニュー項目を表示します | |
データファイル | ||
»開く <MENU OpenData> | データを保持するファイルを開きます | |
»新規 <MENU NewData> | データファイルを新しく作成して開きます | |
»保存 <MENU SaveData> | 編集中のデータを保存します | |
»別名で保存 <MENU SaveDataAs> | 編集中のデータを指定した名前・拡張子のファイルに保存します。結果は元ファイルにも自動保存します | |
»SQLクエリ経由でロード <MENU LoadViaSql> | SQLクエリ経由でデータをロードします。 | |
レイアウトファイル | ||
»開く <MENU OpenLayout> | キーパッドのレイアウトを保持するファイルを開きます | |
»新規 <MENU NewLayout> | この項は無効です。類似ファイルをコピーして開いてください | |
»保存 <MENU SaveLayout> | 編集中のレイアウトを保存します | |
»別名で保存 <MENU SavelayoutAs> | 編集中のレイアウトを指定した名前・拡張子のファイルに保存します。結果は元ファイルにも自動保存します | |
ファイル管理 | ||
»基本操作 <MENU OperateFile> | フォルダのコピー・削除・名前変更・共有、サブフォルダの作成を行います | |
»ファイルエクスポート <MENU ExportFile> | ファイルを外部ストレージにエクスポートします。 | |
»ファイルインポート <MENU ImportFile> | ファイルを外部ストレージからインポートします。 | |
»バックアップ <MENU Backup> | 指定したフォルダのZIPファイルに全ファイルを圧縮します。 | |
»リストア(復元) <MENU Restore> | 指定したZIPファイルから全ファイルを解凍します。 | |
»外部ファイル削除 <MENU DelExtFile> | 外部ストレージから指定したファイルを削除します。 | |
»サンプルファイルのチェック <MENU CheckSamples> | サンプルの改訂をチェックします | |
»サンプルファイルの初期化 <MENU InitSamples> | サンプルを再ロードします | |
»以前の保存に戻る <MENU ReturnToPrevSave> | 以前の保存時点に編集中のデータを戻します。履歴保持の個数と間隔はメニューで設定できます。 なお保存は一定間隔ではなく、メイン画面が隠されたとき(別画面の表示、スリープ、縦横回転など)に発生します。 | |
設定 <MENU Settings> | ||
- レイアウト編集モード | Onで現在使用中のレイアウトを編集するモードに移行します | |
(表示) | ||
- 初期ズーム倍率 | セルテーブルの表示倍率の初期値 | |
- 文字列探索/置換の表示 | Onで、文字列探索/置換を行うバーを表示します | |
- コマンド実行の表示 | Onで、コマンドをキーパッドに記載せず直接実行するバーを表示します | |
- レイアウト変更アイコンを隠す | アクションバー上のレイアウト変更メニューアイコンを非表示にする | |
- 画像サムネイルサイズ | 画像のサムネイル表示のサイズを選択します | |
- 入力バーをシートの下部に表示 | Onで入力バーをシートの下部に、Offでシートの上部に表示します | |
- 左端の固定枠数 | 表示を固定する左端の列数を指定します | |
- 上端の固定枠数 | 表示を固定する上端の列数を指定します | |
- サムネイル脇のテキストを隠す | メディアのサムネイル画像を表示する時、テキスト表現は隠します | |
- ダークモード | ダークモードを切り替えます(システム設定依存、常にオン、常にオフ) | |
- ダークモードでキーパッド色反転 | ダークモード時にキーパッドの文字と背景の色を反転します | |
(動作) | ||
- Enterキーの動作 | Onで右セルへ、Offでは下セルへ移動します | |
- バイブレーション | Onでキーパッドタッチ時に振動します | |
- 自動リンクを有効化 | Onで、フルスクリーンエディタ内の、URLや電話番号等にリンクを作成します | |
- ダブルタップと判断する最大間隔 | この間隔より短く2度タップするとダブルタップの動作を実行します。 ダブルタップが不要ならば、この値をゼロに設定して下さい。 | |
(テキスト) | ||
- データファイル読込時の文字セット | データファイル(csv, tsv and txt)を読み込むときに使う文字セット(標準は自動検出) | |
- データファイル書込時の文字セット | データファイル(csv, tsv and txt)を書き込むときに使う文字セット(標準は読込み時と同じ) | |
- レイアウトファイル読込時の文字セット | レイアウトファイル(csv, tsv and txt)を読み込むときに使う文字セット(標準は自動検出) | |
- レイアウトファイル書込時の文字セット | レイアウトファイル(csv, tsv and txt)を書き込むときに使う文字セット(標準は読込み時と同じ) | |
- クリップボードテキスト | クリップボードに保持するテキストの形式を指定します(csv,tsv,txt) | |
- .txt形式における区切り記号 | TXTテキストファイルのセル区切り記号を’[’と’]’の間に指定します。スペースは' '、タブ区切りは'\t'です。 末尾に’+’を付加すると同一区切り記号の連続を一つの区切り記号とします。標準設定の'[ ]+'は「連続する空白で1つの区切り」です | |
- .csv形式における区切り記号 | CSVテキストファイルのセル区切り記号を’[’と’]’の間に指定します。標準設定は'[,]'です | |
- .tsv形式における区切り記号 | TSVテキストファイルのセル区切り記号を’[’と’]’の間に指定します。標準設定は'[\t]'です | |
- 共有テキストデータを生のままで扱う | Onでは「共有」で受信したテキストをそのまま1セルに入れる。Offではクリップボードテキスト形式に従って複数セルに入れる | |
(セル) | ||
- 小数点以下表示桁数 | 小数点以下の表示桁数を指定します。数値と数式に有効です | |
- セルフォントサイズ | セルの文字サイズです(全セルに共通の値) | |
- 行数の初期値 | 最初に表示する行数です(データファイルに反映しない) | |
- 列数の初期値 | 最初に表示する列数です(データファイルに反映しない) | |
- 自動セル高さ | Onならばセル高さが内容によって自動的に変化します | |
- 自動セル高さの最大 | 自動セル高さが拡大する限界値です | |
- 入力欄フォントサイズ | 入力欄の文字フォントのサイズです(データファイルに反映しない) | |
(フォーマット) | ||
- Dateのフォーマット | Java SimpleDateFormatで規定するFormat文字列です | |
- Timeのフォーマット | Java SimpleDateFormatで規定するFormat文字列です | |
- DateTimeのフォーマット | Java SimpleDateFormatで規定するFormat文字列です | |
- USERDEF1のフォーマット | Excelで規定するFormat文字列です | |
- USERDEF2のフォーマット | Excelで規定するFormat文字列です | |
(テキスト読み上げTTS) | ||
- TTSシステム設定 | Androidシステムメニュー内のテキスト読み上げに関する設定を呼びます。 | |
- 列移動時の無音時間 | TTS発声時、列を移ったときに挿入する無音の期間をミリ秒単位で指定します。 | |
- 行移動時の無音時間 | TTS発声時、行を移ったときに挿入する無音の期間をミリ秒単位で指定します。 | |
- 優先する読み上げ方向 | TTS発声時の読み上げ順を指定します。オンでは範囲内を垂直方法に、オフでは水平方法に発声します。 | |
(ファイル履歴) | ||
- 履歴ファイル数 | 以前のデータを保持する履歴ファイルの数 | |
- 最小履歴間隔 | 履歴ファイル間の最小時間間隔 | |
(リセット) | ||
- QESSの設定のリセット | QESSの全ての設定を初期化します。 | |
セル | ||
»範囲指定 <MENU RangeCell> | 複数セルからなる領域の指定を開始します。範囲指定を開始していれば別範囲(*1)として確定します | |
»コピー <MENU CopyCell> | 現在の指定範囲を別範囲(*1)として確定し、貼り付け元とします。またクリップボードに範囲内のテキストをコピーします | |
»切り取り <MENU CutCell> | 現在の指定範囲を別範囲(*1)として確定し、貼り付け元とします。またクリップボードに範囲内のテキストをコピーします。貼り付け後に貼り付け元のテキストをクリアします | |
»貼り付け <MENU PasteCell> | 別範囲(*1)が存在すれば、そこから属性を含めて貼り付けます。なければクリップボードからテキストを貼り付けます | |
»共有 <MENU ShareCell> | 範囲内のテキストを共有メニューで指定したアプリに送ります | |
»共有(メディア) <MENU ShareMediaCell> | 範囲内にリンクしたメディアファイルを共有メニューで指定したアプリに送ります | |
»共有先の設定 - | レイアウト編集モードでのみ有効です。共有先の設定をレイアウトファイルに追加します。 | |
»型とフォーマット <MENU DataTypeCell> | セルのデータ型と表示フォーマットを変更します | |
»参照のコピー <MENU CopyRefCell> | セルまたはセル範囲を参照する文字列(例 「A1」または「A1:B2」)をクリップボードにコピーします。 | |
»数式入力 <MENU InputFormula> | 数式入力の画面を表示します。詳細は入力支援画面を参照ください。 | |
»連続データ入力 <MENU InputSeries> | 連続データ入力の画面を表示します。詳細は入力支援画面を参照ください。 | |
»クリア <MENU ClearCell> | セルの内容を消去します | |
»読み上げ <MENU SpeakCell> | セルの内容を読み上げます | |
»セルサイズ変更 <MENU ResizeCell> | セルの高さと幅を変更するシークバーを表示します | |
»上側と左側の枠を固定 <MENU FreezeUpLeft> | 現在セルの上側と左側の表示枠を固定します | |
»フルスクリーン編集 <MENU FullScreenEdit> | フルスクリーンを使ってセル内容を編集します | |
»塗り色 <MENU FillColorCell> | セルの塗り色を変更します(基本色のみ) | |
»フォント <MENU FontCell> | セルのフォント属性を変更します(基本のみ) | |
»テキスト配置 <MENU TextAlignCell> | セルのテキストの配置位置(右詰め・下詰めなど)を変更します(基本配置のみ) | |
»罫線 <MENU BorderCell> | セルの罫線を変更します(基本色・線種のみ) | |
»Web検索 <MENU WebSearchCell> | 現在セルの内容をWeb検索 | |
»QR Code生成 <MENU GenerateQrCell> | 指定範囲のテキストをクリップボードのテキスト形式(Default:TSV)でコード化して、QR Codeを生成し表示します | |
»QR Code取得 <MENU CaptureQrCell> | 認識したQRコード / バーコードの文字列を、クリップボードテキストの形式(Default:TSV)で分割して、現在セルから追加。 | |
»フォト取得 <MENU CapturePhotoCell> | カメラで写真を撮影してセルにサムネイルを表示します。サムネイルがオフならば名前を入れます | |
»ビデオ取得 <MENU CaptureVideoCell> | カメラでビデオを撮影してセルにサムネイルを表示します。サムネイルがオフならば名前を入れます | |
»オーディオ取得 <MENU CaptureAudioCell> | マイクでオーディオ入力して、セルに名前を入れます | |
»メディアファイル取得 <MENU CaptureFileCell> | 指定したメディアファイル名を取得してセルに名前を入れます | |
»メディア名変更 <MENU RenameMediaCell> | セルに入っているメディアファイルの名前を変更します | |
»取得済メディアを貼り付け <MENU PasteMediaCell> | 取得済みのメディアファイルを現在セルに貼り付けます | |
»グラフ描画 <MENU DrawGraphCell> | 折れ線グラフその他を描画します。「範囲指定」の後に実行します | |
»SQLクエリ <MENU SqlQueryCell> | SQLクエリの画面を表示します。 | |
»手書き <MENU HandWriteCell> | 手書き入力を開始します。 | |
»印刷 <MENU PrintCell> | 指定したセル/セル範囲を印刷します。 | |
»コマンド実行 <MENU RunCmdCell> | キーパッド記載なしにコマンドを直接実行します。 | |
列 | ||
»範囲指定 <MENU RangeColumn> | 複数列からなる領域の指定を開始します。範囲指定を開始していれば別範囲(*1)として確定します。範囲指定はBackキーでキャンセルします | |
»コピー <MENU CopyColumn> | 現在の範囲を別範囲(*1)として確定し、貼り付け元とします。またクリップボードに範囲内のテキストをコピーします | |
»切り取り <MENU CutColumn> | 現在の範囲を別範囲(*1)として確定し、貼り付け元とします。またクリップボードに範囲内のテキストをコピーします。貼り付け後に貼り付け元のテキストをクリアします。 | |
»貼り付け <MENU PasteColumn> | 貼り付け元範囲(点線枠で表示)が存在すれば、そこに含まれる列から属性を含めて貼り付けます。なければクリップボードからテキストを貼り付けます | |
»共有 <MENU ShareColumn> | 範囲に含まれる列のテキストを共有メニューで指定したアプリに送ります | |
»共有(メディア) <MENU ShareMediaColumn> | 範囲内にリンクしたメディアファイルを共有メニューで指定したアプリに送ります | |
»型とフォーマット <MENU DataTypeColumn> | 列内のセルのデータ型と表示フォーマットを変更します | |
»参照のコピー <MENU CopyRefColumn> | 列または列範囲を参照する文字列(例 「A」または「A:B」)をクリップボードにコピーします。 | |
»非表示 <MENU HideColumn> | 現在列を非表示にします。範囲指定中は含まれる列が対象です。 | |
»再表示 <MENU UnhideColumn> | 列を再表示にします。範囲指定中は含まれる列が対象です。範囲指定なしでは現在列に隣接する列です | |
»クリア <MENU ClearColumn> | 現在列の内容を消去します | |
»読み上げ <MENU SpeakColumn> | 現在列の内容を読み上げます | |
»列幅変更 <MENU WidthColumn> | 列の幅を変更するシークバーを表示します(列ヘッダーのダブルタップでも表示します) | |
»左側の枠を固定 <MENU FreezeLeft> | 現在セルの左側の表示枠を固定します | |
»挿入 <MENU InsertColumn> | 現在列の左に列を挿入します | |
»削除 <MENU DeleteColumn> | 現在列を削除します | |
»塗り色 <MENU FillColorColumn> | 列の塗り色を変更します(基本色のみ) | |
»フォント <MENU FontColumn> | 列のフォント属性を変更します(基本のみ) | |
»テキスト配置 <MENU TextAlignColumn> | 列のテキストの配置位置(右詰め・下詰めなど)を変更します(基本配置のみ) | |
»罫線 <MENU BorderColumn> | 列の罫線を変更します(基本色・線種のみ) | |
»QR Code生成 <MENU GenerateQrColumn> | 指定範囲のテキストをクリップボードのテキスト形式(Default:TSV)でコード化して、QR Codeを生成し表示します | |
»SQLクエリ <MENU SqlQueryColumn> | SQLクエリの画面を表示します | |
»印刷 <MENU PrintColumn> | 指定した列/列範囲を印刷します。 | |
»コマンド実行 <MENU RunCmdColumn> | キーパッド記載なしにコマンドを直接実行します。 | |
行 | ||
»範囲指定 <MENU RangeRow> | 複数行からなる領域の指定を開始します。範囲指定を開始していれば別範囲(*1)として確定します。範囲指定はBackキーでキャンセルします | |
»コピー <MENU CopyRow> | 現在の範囲を別範囲(*1)として確定し、貼り付け元とします。またクリップボードに範囲内のテキストをコピーします | |
»切り取り <MENU CutRow> | 現在の範囲を別範囲(*1)として確定し、貼り付け元とします。またクリップボードに範囲内のテキストをコピーします。貼り付け後に貼り付け元のテキストをクリアします | |
»貼り付け <MENU PasteRow> | 貼り付け元範囲(点線枠で表示)が存在すれば、そこに含まれる行から属性を含めて貼り付けます。なければクリップボードからテキストを貼り付けます | |
»共有 <MENU ShareRow> | 範囲に含まれる行のテキストを共有メニューで指定したアプリに送ります | |
»共有(メディア) <MENU ShareMediaRow> | 範囲内にリンクしたメディアファイルを共有メニューで指定したアプリに送ります | |
»型とフォーマット <MENU DataTypeRow> | 行内のセルのデータ型と表示フォーマットを変更します | |
»参照のコピー <MENU CopyRefRow> | 行または行範囲を参照する文字列(例 「1」または「1:2」)をクリップボードにコピーします。 | |
»非表示 <MENU HideRow> | 現在行を非表示にします。範囲指定中は含まれる行が対象です。 | |
»再表示 <MENU UnhideRow> | 行を再表示。範囲指定中は含まれる行が対象です。範囲指定なしでは現在列に隣接する行です | |
»クリア <MENU ClearRow> | 現在行の内容を消去します | |
»読み上げ <MENU SpeakRow> | 現在行の内容を読み上げます | |
»行高変更 <MENU HeightRow> | 行の高さを変更するシークバーを表示します(行ヘッダーのダブルタップでも表示します) | |
»上側の枠を固定 <MENU FreezeUp> | 現在セルの上側の表示枠を固定します | |
»挿入 <MENU InsertRow> | 現在行の上に行を挿入します | |
»削除 <MENU DeleteRow> | 現在行を削除します | |
»塗り色 <MENU FillColorRow> | 行の塗り色を変更します(基本色のみ) | |
»フォント <MENU FontRow> | 行のフォント属性を変更します(基本のみ) | |
»テキスト配置 <MENU TextAlignRow> | 行のテキストの配置位置(右詰め・下詰めなど)を変更します(基本配置のみ) | |
»罫線 <MENU BorderRow> | 行の罫線を変更します(基本色・線種のみ) | |
»QR Code生成 <MENU GenerateQrRow> | 指定範囲のテキストをクリップボードのテキスト形式(Default:TSV)でコード化して、QR Codeを生成し表示します | |
»SQLクエリ <MENU SqlQueryRow> | SQLクエリの画面を表示します。 | |
»印刷 <MENU PrintRow> | 指定した行/行範囲を印刷します。 | |
»コマンド実行 <MENU RunCmdRow> | キーパッド記載なしにコマンドを直接実行します。 | |
シート | ||
»コピー <MENU CopySheet> | 現在の範囲を別範囲(*1)として確定し、貼り付け元とします。またクリップボードに範囲内のテキストをコピーします | |
»切り取り <MENU CutSheet> | 現在の範囲を別範囲(*1)として確定し、貼り付け元とします。またクリップボードに範囲内のテキストをコピーします。貼り付け後に貼り付け元のテキストをクリアします | |
»貼り付け <MENU PasteSheet> | 貼り付け元範囲(点線枠で表示)が存在すれば、そこに含まれる行から属性を含めて貼り付けます。なければクリップボードからテキストを貼り付けます | |
»共有 <MENU ShareSheet> | 現在シートのテキストを共有メニューで指定したアプリに送ります | |
»共有(メディア) <MENU ShareMediaSheet> | 範囲内にリンクしたメディアファイルを共有メニューで指定したアプリに送ります | |
»クリア <MENU ClearSheet> | 現在シートの内容を消去します | |
»読み上げ <MENU SpeakSheet> | 現在シートの内容を読み上げます | |
»型とフォーマット <MENU DataTypeSheet> | シート内のセルのデータ型と表示フォーマットを変更します | |
»枠の固定を解除 <MENU Unfreeze> | 枠の固定を解除します | |
»表示シート選択 <MENU SelectSheet> | 複数シートからなるブックにおいて表示・編集するシートを選択します | |
»新シート追加 <MENU AddSheet> | 新たなシートをブック末尾に追加します | |
»現シート複製 <MENU CloneSheet> | 現在シートを複製してブック末尾に追加します | |
»現シート削除 <MENU DeleteSheet> | 現在シートを削除します。その結果、シート数がゼロならば作成します | |
»現シート名変更 <MENU RenameSheet> | 現在シートに名前を付けます | |
»塗り色 <MENU FillColorSheet> | シートの塗り色を変更します(基本色のみ) | |
»フォント <MENU FontSheet> | シートのフォント属性を変更します(基本のみ) | |
»テキスト配置 <MENU TextAlignSheet> | シートのテキストの配置位置(右詰め・下詰めなど)を変更します(基本配置のみ) | |
»罫線 <MENU BorderSheet> | シートの罫線を変更します(基本色・線種のみ) | |
»QR Code生成 <MENU GenerateQrSheet> | 指定範囲のテキストをクリップボードのテキスト形式(Default:TSV)でコード化して、QR Codeを生成し表示します | |
»行の並べ替え <MENU SortRows> | 並び順およびキーを指定して現在シート中の行を並べ替えます。数値とそれ以外(文字列、数式など)を区別します。セル参照表記は変化しません | |
»文字列の探索/置換 <MENU SearchReplace> | 文字列の探索/置換を行うバーを表示します | |
»SQLクエリ <MENU SqlQuerySheet> | SQLクエリの画面を表示します。 | |
»印刷 <MENU PrintSheet> | 現シートを印刷します。 | |
»コマンド実行 <MENU RunCmdSheet> | キーパッド記載なしにコマンドを直接実行します。 | |
ヘルプ文書 | ||
»簡易ハウツー <MENU ShowHowTo> | 簡単なHowTo文書を表示します | |
»使用開始方法 <MENU ShowHowToStart> | 使用開始方法の説明を表示します | |
»ヘルプ <MENU ShowHelp> | このドキュメントを表示します | |
バージョン <MENU ShowVersion> | バージョン情報を表示します |
各行の上段は、レイアウトファイルで使えるQESSコマンドです。大文字・小文字を区別しません。 下段は同等の機能をJavaScriptから使える関数の記述です。JavaScriptでは大文字・小文字を区別します。
上段:QESSコマンド 下段:JavaScript関数 | 説明 |
---|---|
string - | 通常文字(*2)からなるstringをセルに追加 |
<!string> //string | コメント(記述を無視) |
<UP> Qess.up() | 上のセルに移動 |
<DOWN> Qess.down() | 下のセルに移動 |
<LEFT> Qess.left() | 左のセルに移動 |
<RIGHT> Qess.right() | 右のセルに移動 |
<CLR> Qess.clr() | セルをクリア |
<BS> Qess.bs() | セル末尾の1文字を除去 |
<GO sheet!ref> Qess.go("sheet!ref") | シートsheet内のref(*3)で参照するセルに移動 (例 <GO Sheet2!C3>はシート名[Sheet2]のC3セルに移動、<GO #1!B2>はシート番号[1]のB2セルに移動)。 'sheet!'または'ref'は省略可能(例 <GO C3>、<GO Sheet2!>、<GO #1!>)。 |
<GO BACK> Qess.goBack() | 移動前のセルに戻る(1ステップのみ) |
<EVAL ref> Qess.eval("ref") | ref(*3)で参照するセルを算術式(*4)として評価。refなしは現在セルを評価 |
<COPY> Qess.copy() | セルまたはセル範囲からコピー |
<COPY ROW> Qess.copyRow() | 行または行範囲からコピー |
<COPY COL> Qess.copyCol() | 列または列範囲からコピー |
<COPY SHEET> Qess.copySheet() | シートからコピー |
<CUT> Qess.cut() | セルまたはセル範囲から切り取り |
<CUT ROW> Qess.cutRow() | 行または行範囲から切り取り |
<CUT COL> Qess.cutCol() | 列または列範囲から切り取り |
<CUT SHEET> Qess.cutSheet() | シートから切り取り |
<PASTE> Qess.paste() | セルまたはセル範囲に貼り付け |
<PASTE ROW> Qess.pasteRow() | 行または行範囲に貼り付け |
<PASTE COL> Qess.pasteCol() | 列または列範囲に貼り付け |
<PASTE SHEET> Qess.pasteSheet() | シートに貼り付け |
<HIDE ROW> Qess.hideRow() | 行を非表示 |
<HIDE COL> Qess.hideCol() | 列を非表示 |
<UNHIDE ROW> Qess.unHideRow() | 行を再表示 |
<UNHIDE COL> Qess.unHideCol() | 列を再表示 |
<INS ROW> Qess.insRow() | 行を挿入 |
<INS COL> Qess.insCol() | 列を挿入 |
<DEL ROW> Qess.delRow() | 行を削除 |
<DEL COL> Qess.delCol() | 列を削除 |
<CLR ROW> Qess.clrRow() | 行をクリア |
<CLR COL> Qess.clrCol() | 列をクリア |
<CLR SHEET> Qess.clrSheet() | シートをクリア |
<LIST list> Qess.list("list") | list(*5)から文字列を選択しセルに追加。JS動作は応答遅延(*6) |
<LISTN list> Qess.listn("list") | list(*5)からインデックス番号を選択しセルに追加。JS動作は応答遅延(*6) |
<LISTV list1 list2> Qess.listv("list1","list2") | list1(*5)を表示し、選択したインデックス番号に対応するlist2(*5)の要素をセルに追加。JS動作は応答遅延(*6) |
<PAREN> Qess.paren() | 開き括弧と閉じ括弧の数を計数して、不一致の場合には先頭または末尾に括弧を追加。文字列型のみ有効。 文字列全体を括弧で括るには、末尾に閉じカッコを追加してから実行すれば良い「)<PAREN>」)。 |
<TYPE type> Qess.type(type) | データ型をtypeに変更(*7) |
<NOW DATE> Qess.nowDate() | 現在時点の日付をセルに追加(*8) |
<NOW TIME> Qess.nowTime() | 現在時点の時間をセルに追加(*8) |
<NOW DATETIME> Qess.nowDateTime() | 現在時点の日時をセルに追加(*8) |
<NOW RAW> Qess.nowRaw() | 現在時点を表すExcel数値をセルに追加(*8) |
<RANGE> Qess.range() | セル範囲選択開始。範囲指定を開始していれば別範囲(*1)として確定 |
<RANGE COL> Qess.rangeCol() | 列範囲選択開始。範囲指定を開始していれば別範囲(*1)として確定 |
<RANGE ROW> Qess.rangeRow() | 行範囲選択開始。範囲指定を開始していれば別範囲(*1)として確定 |
<RANGE RESET> Qess.rangeReset() | 範囲選択をリセット |
<RANGE SAVE> Qess.rangeSave() | 現在の範囲選択を退避 |
<RANGE RESTORE> Qess.rangeRestore() | 退避した範囲選択を復元 |
<SETV var> Qess.setV("var") | セル値Valueを変数var(*9)に設定 |
<SETR var> Qess.setR("var") | 参照(Reference)(*10)を変数var(*9)に設定 |
<SETRR var> Qess.setRR("var") | 参照(Reference)の行(Rows)指定を変数var(*9)に設定 |
<SETRC var> Qess.setRC("var") | 参照(Reference)の列(Columns)指定を変数var(*9)に設定 |
<SETRS var> Qess.setRS("var") | 参照(Reference)の単一セル(SingleCell)指定を変数varに設定 |
<GET var> Qess.get("var") | 変数var(*9)の値を得てセルに追加。Qess.putToCell/Qess.appendToCellも参照 |
<VOICE> Qess.voice() | 音声認識した文字列をセルに追加。JS動作は応答遅延(*6) |
<QRCODE> Qess.qrcode() | 認識したQRコード / バーコードの文字列を、クリップボードテキストの形式(Default:TSV)で分割して、現在セルから追加。JS動作は応答遅延(*6) <QRCODE IN>/Qess.qrcodeIn()とも書ける |
<QRCODE OUT> Qess.qrcodeOut() | 指定範囲のテキストを、クリップボードテキスト形式(Default:TSV)に変換して、QRコード表示 |
<WEB> Qess.web() | 現在セルの内容をWeb検索 |
<CAPT PHOTO> | カメラからフォトを取得 |
<CAPT VIDEO> | カメラからビデオを取得 |
<CAPT AUDIO> | マイクからオーディオを取得 |
<CAPT FILE> | ファイルからメディアを取得 |
<SHARE key> Qess.share("key") | 現在セルまたはセル範囲の内容を共有メニューで指定したアプリに送付。keyはレイアウトファイルで指定する送付先。 もしkeyが省略されているかまたは空文字("")ならば送付先候補を表示 |
<SHARE ROW key> Qess.shareRow("key") | 現在行または行範囲の内容を共有メニューで指定したアプリに送付。keyは上記と同。 |
<SHARE COL key> Qess.shareCol("key") | 現在列または列範囲の内容を共有メニューで指定したアプリに送付。keyは上記と同。 |
<SHARE SHEET key> Qess.shareSheet("key") | 現在シートの内容を共有メニューで指定したアプリに送付。keyは上記と同。 |
<SHAREMEDIA key> Qess.shareMedia("key") | 現在セルまたはセル範囲にリンクしたメディアファイルを共有メニューで指定したアプリに送付。keyは上記と同。 |
<SHAREMEDIA ROW key> Qess.shareMediaRow("key") | 現在行または行範囲にリンクしたメディアファイルを共有メニューで指定したアプリに送付。keyは上記と同。 |
<SHAREMEDIA COL key> Qess.shareMediaCol("key") | 現在列または列範囲にリンクしたメディアファイルを共有メニューで指定したアプリに送付。keyは上記と同。 |
<SHAREMEDIA SHEET key> Qess.shareMediaSheet("key") | 現在シートにリンクしたメディアファイルを共有メニューで指定したアプリに送付。keyは上記と同。 |
<SPEAK> Qess.speak() | 現在セルまたはセル範囲の内容を読み上げ |
<SPEAK ROW> Qess.speakRow() | 現在行または行範囲の内容を読み上げ |
<SPEAK COL> Qess.speakCol() | 現在列または列範囲の内容を読み上げ |
<SPEAK SHEET> Qess.speakSheet() | 現在シートの内容を読み上げ |
<DIALOG0 text> Qess.dialog0("text") | 指定したtext(*12)を持つOKボタンのみのダイアログを表示。JS動作は応答遅延(*6) |
<DIALOG1 text> Qess.dialog1("text") | 指定したtext(*12)を持つテキスト入力のダイアログを表示、結果をセルに追加。JS動作は応答遅延(*6) |
<DIALOG2 text> Qess.dialog2("text") | 指定したtext(*12)を持つYES/NOボタンのダイアログを表示、結果をセルに追加。JS動作は応答遅延(*6) |
- requestId = Qess.dialog1x("text") | 指定したtext(*12)を持つテキスト入力のダイアログを表示、応答はgetResponseで受信 |
- requestId = Qess.dialog2x("text") | 指定したtext(*12)を持つYES/NOボタンのダイアログを表示、応答はgetResponseで受信 |
- response = Qess.getResponse(requestId) | dialog1x,dialog2xに対するユーザの遅延応答を受け取る。応答待ちをせず、未応答ならばnullを戻す |
<FILLCOLOR color> Qess.fillColor("color"); | 現在セルまたはセル範囲の塗り色をcolor(*13)に設定 |
<FONTCOLOR color> Qess.fontColor("color"); | 現在セルまたはセル範囲のフォント色をcolor(*13)に設定 |
<TEXTALIGN H V> Qess.textAlign("H", "V"); | 現在セルまたはセル範囲の水平方向と垂直方向のテキスト配置を
H(N=変更なし、G=標準、L=左詰め、C=中央揃え、R=右詰め)と、V (N=変更なし、T=上詰め、C=中央揃え、B=下詰め)に設定。 (例: コマンド: <TEXTALIGN R B> または Js関数: Qess.textAlign("R", "B"); )。 |
<JS script> Qess.js("script") | scriptを実行(*14) |
- var=Qess.takeCellVal() | 現在セルの内容を取得して変数varに代入 |
- Qess.putToCell(expr) | 式exprの値を現在セルに代入(上書き) |
- Qess.appendToCell(expr) | 式exprの値を現在セルに追加 |
- str=Qess.takeRangeStr() | 選択中の範囲を参照する文字列を取得して変数strに代入(*15) |
- str=Qess.takeRowStr() | 選択中の行範囲を参照する文字列を取得して変数strに代入(*15) |
- str=Qess.takeColStr() | 選択中の列範囲を参照する文字列を取得して変数strに代入(*15) |
- str=Qess.takeCellStr() | 選択中のセルを参照する文字列を取得して変数strに代入(*15) |
- array=Qess.rangeStrToArray(str) | 範囲指定をA1形式から配列形式へ変換(*16) |
- str=Qess.rangeArrayToStr(array) | 範囲指定を配列形式からA1形式に変換(*16) |
- Qess.q2j("@var", "varJ") | QESS変数@varの値をJavaScript変数varJにコピー |
- Qess.j2q("varJ", "@var") | JavaScript変数varJの値をQESS変数@varにコピー |
<HANDWRITE> Qess.handWrite(); | 手書き入力を開始 |
<SAVE> Qess.save(); | データおよびレイアウトを保存 |
<OPEN DATA filename> Qess.open("DATA", "filename"); | dataフォルダ内のファイルfilenameをデータシートとして開く |
<OPEN LAYOUT filename> Qess.open("LAYOUT", "filename"); | layoutフォルダ内のファイルfilenameをレイアウトシートとして開く |
<MENU menuItem> Qess.menu("menuItem"); | menuItemで示すメニュー項目を実行します(例:<MENU SaveData>)。
メニュー項目無しのコマンド<MENU>はメニュー表示をします。 menuItemはメニュー項目の一覧に示します。 *非同期処理に対応しません。MENUコマンドはスクリプトの末尾に記述して下さい。 MENUコマンドは直接コマンドより負荷が高い(例:<MENU OpenData>が<SAVE>より高負荷)ので、直接コマンドがあればそちらを使うこと。 |
以下のコマンドは、条件分岐やループの処理が必要な場合に使って下さい。 前面処理ですので、UIに影響を与えない短時間に限定ください。 なお、上記の<JS script>を使い、JavaScriptで実現する事もできます。 JavaScriptの方が可読性が高いでしょう。ただしJavaScript内では非同期処理はサポートしません。
レイアウトファイル記述 | 説明 |
---|---|
<JMP label> | コマンド列中のlabel(*18)の位置へ飛ぶ |
<JGT ref label> | refで参照するセルより大きいならlabel位置へ飛ぶ |
<JLT ref label> | refで参照するセルより小さいならlabel位置へ飛ぶ |
<JEQ ref label> | refで参照するセルと等しいならlabel位置へ飛ぶ |
<JNE ref label> | refで参照するセルと等しくないならlabel位置へ飛ぶ |
<JGE ref label> | refで参照するセルより大または等しいならlabel位置へ飛ぶ |
<JLE ref label> | refで参照するセルより小または等しいならlabel位置へ飛ぶ |
<LBL label> | コマンド列中にlabelを置く |
<JLMT label count> | labelへのジャンプが可能な回数(*19)を設定 |
<JLMT label> | ジャンプが可能な回数の現在値を得てセルへ追加 |
下のサポートページを用意しました。このHelpやFAQを置いています。PCなどでの閲覧に利用下さい。
https://qess-free.web.app/ja/
(このページ記述はQESS-stdとQESS-proに共通です)
質問や要望、バグ報告などは下のメールアドレスへ送ってください。
watanaby00@yahoo.co.jp
ファイル添付が必要な場合は、TXT/CSV/TSV/PNG/JPG/PDFファイルを希望します。