その後のデータベース(その2)

2020年が始まった。

年末年始行事が一段落し、Fullfreeを実際に沿う形に加工することにした。と言ってもテンプレートを作るだけなので何とかなるだろうと踏んでいた。

FullfreeはExcelをテンプレートとして使えるし、その過程で関数なども使用できる。これはExcel使いの自分としてはかなりアドバンテージが高い。普段使用しているExcelファイルをちょっといじればOKだなと余裕かましていた。

ここでふと「無料版ではテンプレート登録が1件!?」という仕様に戸惑った。その都度Excelファイルを選び直せば問題なしだろう勝手に考えていたが、そうはいかなかった。いや、選ぶことはできるが差込部分の変数についてはテンプレート登録しないと都度紐づけが必要だった。これでは紐づけ変数が大量にあると非常な労力を要する。正直いやだ。これはまずい。何か解決策は…と考えて「ブックにシートを複数テンプレートとして入れておいて、切り替えるとかあり!?」と思い付いた。

結果、これは上手くいった。その都度テンプレシートを指定すれば問題ない。正直よく気付いた自分!の自画自賛状態だった。

しかし!

よ~~~~く説明読んだらそういった使い方に触れていた。想定内の使用方法だった。だよね。道理でシートの切り替えプルダウンがあるわけだ。

説明はよく読みましょう…

新年の教訓。

Excelが実寸印刷未対応は怠慢でしかない

Excelは表計算ソフトである。計算を優先させるために印刷に関して犠牲は仕方がないと当然のように説明しているのを見かける。

しかし、これは「怠慢」でしかないと考える。

30年前のパソコン環境は貧弱でこれも致し方ないとあきらめていた。何しろ最優先の計算自体がものすごい負荷でしかなく、グラフ1つ描画するくらいでハングアップしたりした。しかし、30年前からマシンパワーが飛躍的に大きくなった現在、少なくとも個人使用のパソコンで計算機能優先という理由は本当に実寸印刷未対応の理由になるのだろうか?

理論上ほぼ無限の数のセルを扱うことができ、セルごとに書式が自由に変えたうえに、拡縮印刷も可能なところに実寸印刷を実現し始めたらきりがないことも、マシン環境もあっという間に資源を食い尽くしそうなのも何となく予想できる。

でもね、Excelを使用している大多数の利用者は無数のシートや無限に広がるセルはいらないわけでその分のパワーがあったら数十ページ対応の実寸印刷の方が嬉しかったりする。
それに実寸印刷を実際に必要とするのはテンプレート印刷の場合がほとんどで、全ページを実寸印刷というのはまずのないのではないだろうか。

それこそマシンパワー全開の緻密な計算が必要ならばそれに見合ったハードとソフトを使えよ…というところだ。予算の問題!?予算なんて永遠に解決できないじゃない。あればあったで、なければないでやりくりしていくしかない。そうやって(良し悪しは別にして)やってきた。これからもそうだろう。

Excelも科学計算用とオフィス用と分けてもいいんじゃない?

せめてもっとましな未対応理由を挙げてほしい。

データベース

OSSのプリザンターを試すことにした。

Accessのところでも書いた気がするがデータベースの必要性を感じつつも踏み出せないでいた。自分の思考の流れはデータベースの設計に向いていないのではないかと思っている。どうも完成形というか到達したい形を見通せないのだ。

ではプリザンターはどうかというと試してみないことには何とも言えないが、解説や説明を読む範囲では何とかなりそう。

それにしても同音異義語は煩わしい。

意味をなさない全く新しい用語を大量に作られても困るが、これまで使っている言葉に「なにそれ?」的な意味合いを付加するのは混乱のもとだと思う。語源的には合っているのだろうが慣れるまでが大変だ。

XLOOKUP

ネットサーフィンをしていてタイトルのExcel関数を見つけた。8月末に発表されて現在は試運転中らしい。

VlOOKUPとHLOOKUPの両方の機能を備え、検索値のあるセルの左側の列も検索できるらしい。これ、かなり嬉しいかも。

HLOOKUPはほとんど使用しないからどうでも(!?)いい気がしないでもないが、検索セルの位置が自由に選べるのはとても助かる。基となる表を編集し直すことなく条件検索できることになるからだ。

うっかりすると関数てんこ盛りでものすごく重いシートや後日リンクエラー出しまくりの複雑なシートを作ってしまいそうだが、ちょっとした作業ややっつけ仕事の時には重宝するだろう。

たまにはマイクロソフトもよい仕事をするもんだ(なぜか上から目線)とつぶやいてみた。

PDF出力(その6)

背景画像の上に文字を出力できるところまでできた、その後の話。

PDF出力に使用しているtcpdfに含まれている日本語フォント(小塚フォント)だとなぜか出力されない文字があり、それが致命的だったので別のものに変えた。結果としてメイリオを入れた(つもり)。これもいくつかンフォントを試したがすんなりいかず、結局どっかのサイトで紹介されていたものを丸ごとそのまま試して何とかなったのがこれだった。

その後phpでフォームに入力したIDとパスワードでデータを検索して該当するものをPDF表示するところまでこぎつけた。レイアウトもtcpdfが一部のhtmlを表示できることからtableタグを駆使して解決した。

数年前には(シンプルで分かりやすい)情報の少なさにあきらめていたPDF出力が、今回はネットにある情報をほぼそのまま利用してどうにか目的に到達した。ライブラリをはじめ各種貴重な情報を公開している皆さんに感謝。

Access

これまで避けてきたデータベース。どうもイメージがつかめなくてかかわらないようにしてきたが、さわらざるを得ない事態になった。

正確にはちょっと”カチン!”とくることがあり、溜飲を下げるため手を出したというところだ。

以前からExcelから乗り換えたいものはいくつかあったが、やはりとっつきやすさでExcelから離れられなかった。これを機にAccessへの偏見をなくし、ついでに”カチン”ときた原因を取り除きたい。

PDF出力(その5)

TCPDFを利用して背景画像と文字流力のめどはついた。
が、
セットになっている小塚フォントだといくつか表示されない漢字があるようだ。ちなみに自分が真っ先に気づいたのは「録」で、これは使用頻度が多いので何とか表示したい。さらに言うならば、この程度の漢字が出ないとなれば人名はかなりの頻度で文字化け状態になるだろう。

他の日本語フォントを使えるようにする必要が生じた。

PDF出力(その4)

文字コードとパス。そしてコマンドプロンプトでの作業。

オープンソースなどを自力で自分の環境に合わせようとするとき、これが一番厄介だ。特に自分のようにできるだけ面倒は避けたい(ここでいう面倒というのは初心者レベルの手抜き)とドツボりやすい。

文字コードが原因でPDFが作成できないことは解決できた。UTF-8NでTCPDF周りを扱うことが解決策だった。そのためには解凍ソフトやエディタ、アップロードソフトの文字コード扱いを再確認することが必須だった。

次に背景画像の読み込み。これはパスをこれでもかくらいに確認しろ!ということだ。特にサンプルコードを改変する場合はどこにどうパスが通っているのか理解するべきだ。

コマンドプロンプトは日常Windowで事務作業をしている限りほとんど使わないので、パソコンのどこにあってどう呼び出すかを思い出すのに苦労するようになったため、あまりさわりたくない。ましてや、参考にしている情報がLinuxとiOSとかでのものなら一度はあきらめて、他をあたる。そしてどうやらそれしか方法がないらしいと思いいたって初めて取り掛かる。

実際問題、この辺が面倒だから「アップロードしたらすぐ使えるもの」が欲しくなるわけです(笑)
それを素直に掲示板で発信しちゃうと怒られちゃうので、必死に探して何とかする(笑)

50mダッシュイベントの番組編成をしたい

50m走のイベントでは2回タイムを計り、その合計時間を競う。この時1回目は年齢カテゴリーでプログラムを組むが、2回目は1回目のタイムで番組を組みなおす。

Excelで自動的(もしくは少しでも自動に近い形)に処理したい。本当ならばExcelにこだわる必要はないのだが、そのためのソフトを導入する予算的余裕はない。なので、Excelで処理する。

運用条件

  1. Excelで処理する。VABは極力使用しない。
  2. 処理時間をできるだけ短くする。修正を入れて30分以内。
  3. 8レーン30組くらいまでは対応したい
  4. 途中棄権などにも対応しやすいもの
  5. リザルトや表彰に対応できるもの

オンラインで領収証を発行したい

イベントへの申込があり、参加料の入金を受けて領収証を発行したい。これまではイベント当日までに準備して配布していたが、参加人数に変更があったりして意外とそのまま渡すことができなかったりする。

どのみち当日渡せなかったり、遠方の参加者に渡しそびれたときのことを考えると、認証キーとかを発行してそれぞれが領収証を印刷するようにしたら手間が減るかもと目論んだ。

運用条件としては、

  1. 認証キーをランダムな英数で発行する
  2. 認証キーと受付番号で参加者を特定する。
  3. PDF発行したいが、難しい場合はHTMLで可。ブラウザで印刷してもらう。
  4. 領収証の印刷回数をカウントする。
  5. 発行期間(イベント日から1週間とか、入金確認日から1週間とか)
  6. 管理画面の要不要は…検討中