【Excelを帳票フォーマットにするなら】やり方をしっかりとマスターしよう

方眼にしてセル結合をする

プログラム内で帳票プログラムを作成するよりも安価で楽ってことでの採用なのだろう。

Excelでテンプレートを作成し、データを埋め込んでファイル名を変更し、印刷はしてもらうらしいのだが。

大丈夫なのだろうか?

webukatu.com

単体テスト段階

もうね、最終段階に入りつつあるところで何を言ってもしょうがないのでとりあえず、流されましょう。

今年最初のお仕事は月曜日から。

午前中は誰にも相手にされずとりあえずプログラムを見ていた。

VMWareって言うのを初めて見たわ。

で、午後から「テストをお願いします」ってことで、出力した帳票と元となる帳票の説明を受けるところだった。

が、ベンダーの人が一言。

「え、それでいいの?」と。

うん。私もそう思う。

だって出力確認がされた形跡がまるでなく、マージン設定もまるでされてない。

しかも、Excelの中でマージン調整しようとしてるし。

何のための印刷設定なんだって言うの。

一応、帳票用の詳細設計がある。

「MS P 明朝 14px」ってなってるけど・・・ほんとに?

A4でかなり詰まっている感じなのに14pxなんて無理でしょ?

Excelでテンプレートを作成するそもそもを知らない人が作って詳細設計書まで作成していたらしい。

印刷設定を見たら65%とかって。それって文字サイズいくつよ?

詳細設計書って何よ?レベルでした。

午後にとりあえず、体裁を確認するってことで受け取ってかざしてみたけど、あまりにもひどすぎる。

お客様に出す「商品」なんだよね?

データを全て入れたらいいわけじゃないでしょ。

しかもなぜか1行で入力したらいい部分なのに、「(」「XXXXX」「)」ってなんでセル分けてるの?

これするとね、どっかの文字が隠れて切れて見えるから。

文字を入れ込む場所ならわかる。説明文の部分でなぜ分割した?

なぜ見た目、明朝のレイアウトをMS P 明朝にした?

などなど知ってたらなレベルのお粗末すぎる出来で「テストって何を?」ってことで月曜日の15時に私が見た現状を報告して「2日ください。修正しますから」って大見得きっちゃった。

まぁ入れ替えしてけばいいはずって思ってたから。

16帳票(うち複数ページが3つくらい)

昨日、今日と頑張りましたよ。

ベンダーさんの心配性に付き合いながら。

スケジュール管理をしているのだろうけど、私はわたしで「本来、私には何をさせたかったのでしょうかね?」状態で修正に入ってしまったのだけど、まぁ時間ないからとりあえず突き進む。

まず、印刷設定で拡大縮小は最低限に。

14ptで作ってたって印刷設定で65%にしたらそれって9ptだから。

なら印刷設定は100%で9ptで作ったほうがいいはず。

そうしないと統一感のない帳票になるから。

それでなくてもフォントが

MS P ゴシック
MS P 明朝
MS 明朝
HG 丸ゴシック

を使ってる。まぁ客先で適当に作った書類をもらってきて、それを提案なしに真似たんだろうけど。

表示文字もただ「文字列」ってなっていてそれが「半角」なのか「全角」なのかの記載もない。

数字を「文字列」で表示するのはいいとして、それは「全角」なの?「半角」なの?がとても重要じゃないかと。

それでなくても名前とかを100バイトとかで取ってたら50文字を表示するようにしなきゃなわけでしょ?

今まで手書きだった名前の欄にいきなり「50文字」ってかなり大変よ。

フォントサイズもそうだけど。

そこの同じ列に顧客番号とかって記載をする時に7桁を「全角」にするか「半角」にするかで倍違うんだよ。

ってことをまるで考えなしに縮小すればいいやで作った帳票。

私が来なかったら、この帳票はどういう結末を迎えていたのだろう?

しかもセルの位置をプログラムに入れているらしい。

変数くらいにしてくれておいたら、良かったのに。

今更そこの部分を直せないのだけど。最初に変数にしておけば、Excelを修正するだけで済んだのに。

久しぶりの新規案件の最終段階なんだけどね、お粗末だわぁ〜。

でも、すんごい急げば1時間で帰って来られるからいい。

Excelで帳票テンプレートを作る場合、私がやっている方法 (あくまでも私がやってる方法であって、それがベストだとは思わない)

・列の幅:2 ・行の高さ:15(フォントサイズ10前後でフォントサイズによって変更する)

行の高さにしても、列の幅にしても修正する単位は全部。

ヘッダーとして使う部分とフッターとして使う部分だけ個別に行の高さの変更をして微調整はしたりする。

なぜならヘッダーはフォントサイズが+2くらいだから15だと切れる可能性があるから。でも、高さの調整をしてしまうのは嫌だから大体2行を結合して使う。

本来は印刷設定の「ヘッダー」「フッター」設定で入れたいものをセルに入れる場合の話。「フッター」には有効期限などがあってそれはフォントサイズが小さくなるから高さを小さくする。が、本文部分ではちょっとした隙間とかで高さ調整したいけど、しない。

それくらいなら行結合して真ん中に置くようにすればいい。

あと、下記のような場合

1.XXXXXXXX(        )

ってあったら

1.XXXXXXXX(

までを全部入力する。

その後ろの部分は結合させて文脈でセンタリングか左寄せにして後ろに「)」を入れる。

1.XXXXXXXX

として「(」とすると、全体のフォントサイズを変えられたら最後が切れる可能性がある。

ほんとね、アホでしょって言いながらの作業だったわ。

変なスペースがあるし、切れてるし。Excelは画面で見えている通りに印刷されないことを知るべき。

そしてまず、入るかどうかを確認するためにMicrosoft XPS Document Writerで保存して確認するべき。拡大してね。

そして最後はやっぱりちゃんと紙に出力して確認しなきゃいけない。

それをしてないものをなぜ他人が「テスト」するのか聞きたいわ。

うーん、あと1週間でプログラムのセル位置を全部見直して(これを直さずにどうにかしろってことだったらしいが、それは無理だから。行の幅がまちまちでやってて、しかも途中のセルに入力しちゃってるんだから)詳細設計書の書き直し。まぁサイズとかだけだろうけど。

それにしても全部を「左右中央、上下中央」にしているのだけど、「金額」までそれなの?だから「円」が固定なのに「金額」がセンタリングだから間抜けな感じ。

1,111,111   円みたいな。

あり得ないんだけど、うーん、大丈夫か?

まぁリーダー二人がほんわかしていてそれなりにシステムは知ってはいる。けど、技術の分野のリーダーが居ないように見える。

カットオーバーはあるわけで、残業しないでどこまでしのげるか?

webukatu.com