今回は紙エクセル対策で必要な罫線作図ツール開発の序章です。Spreadsheetsで家計簿を作った」でした。silloi.hatenablog.comきっかけ今回使うフォーマットこのフォーマットの問題点まとめきっかけ私の職場では未だに「神エクセル」などと呼ばれるに相応しいフォーマットのエクセルが多数存在している。普段Twitterでは「あんなフォーマットはだめだ」「こんなフォーマットにしなきゃだめだ」などと言っている癖に、実は神エクセルばかり使っていて、数百~数万件にも及ぶ「帳票」をエクセルベースで作成しているのである。(Accessやファイルメーカー使えよという話であるが、エクセル納品が必須なので避けられないのだ)最近になって使うように指示された様式の中に、多種類の「罫線」を使い分けているものが見つかり、業務効率が大幅に落ちるのではないかと懸念しているが、仕事中に開発する時間もないため遊びでアドインを開発することにした。夢が壊れる恐れがあるので、良い子のみんなはこの先を読まないでお帰りください。今回は私の職場でよく使われる「神エクセル」対策を目的としているが、せっかくのクリスマス前なので、ココは一つサンタさんの気持ちになってクリスマスプレゼントの調査票を作ってみた。(おっと、「そんな事で調査票を作る親は日本中どこを探してもいねぇよ」「サンタさんがリサーチするわけねーよ」というツッコミは無しにしてもらいたい)今回使うフォーマットまず「クリスマスプレゼント調査票」に必要と思われる項目を書き出してみた。一度に複数のプレゼントを求めている強欲な子もいるだろう。親の視点でプレゼントを強引に選択する場合もあるだろう。いうわけで、複数候補を挙げられるようにした。実際に贈るプレゼントを選定するために、「大人の事情の評価」を付けられるようにした。大量の子どもたちをデータベースで管理するために、「管理番号」を追加した。気になったことが書けるように、「備考」を追加した。完成したフォーマットがこちら。このフォーマットは「データベースと連携するのに理想的なフォーマット」ではなく「実際に現場で使われている帳票のフォーマット」を踏襲して作成しているので、注意してほしい。作者は印刷して手書きすることしか考えていません。空のフォーマットだけ見ても問題点の適切な洗い出しが出来ないので、サンプルデータを紹介する。備考が3行あるけどデータベースとどう連動させれば良いの罫線の使い分けどうなってるの様式は固定じゃないんかい等を挙げておく。その中でも今回は「様式は固定ではない」「罫線の種類の多さ」に着目して欲しい。これの何が怖いかと言うと...7行目でCtrl+Dをするなどして、6行目へ複製すると不要な二重線が付いてくる。行を挿入するとセル結合と罫線が壊れる。同様に罫線が消えたりする。これらは「セルの罫線はセルとセルの間ではなく、両側または片側のセルの書式設定に記憶された内容が表示されている」という仕組みを知っていれば、事前に問題の発生を防ぐことができる(事もある)。セル結合が必要だったり貰ったデータを直す場合だったりと、事前に防ぐのは不可能な場合も有り得るので、防げないものとして考えていく。Excelの罫線にはたくさんの種類があるが、中には見分けがつかないものもある。倍率100%では見分けがついても普段は60%なので見分けがつかなかったり、DocuWorksに印刷した時点までは同一なのにプリンタで印字したら違って見えたりという事もある。適切な罫線を少ないクリックで設定することを今回のアドイン開発の目標としたい。言ったところで、本日はここまでにする。まとめまずは開発に必要なフォーマットを決定した。次回はどんな設計にすると良いか考えつつ、プロトタイプを作ってみる。私はプレゼントを贈る立場になったことがない雑魚なので、記事中で使用したプレゼントすべて私の妄想である。Part3游ゴシック大嫌いな同志諸君!お久しぶりです。TS-932X-2Gを購入しました。TS-932X-2Gを購入しました。今日からしばらく...www.excel-chunchun.com週1回の更新を目指して活動中です。ヶ月)私がExcelを使っていて気になったことを記事に書いていきます。VBAを使い初めて、もう10年ほど経ちましたが、楽しくて楽しくて毎日自宅でもVBA書いてます。自作PCとかサーバー立てたりするのも好きなのでPCとかサーバーのことも書くかもしれません。記事の元ネタは主にTwitterの方で呟いてますので、最速で情報を仕入れたい方は是非フォローしてください。part12019-11-12SpecialFoldersの引数にString型変数を指定すると意図した通りに動かない2019-11-03ワークシート用ユーザー定義関数は使い方を誤ると危険である2019-10-28VBAのコメントの書き方の試行錯誤2019-10-27VBAでの広域コメントアウトの代替案2019-10-26VBAで戻り値のある複数シートをコピーする関数を作ってみた2019-10-22Outlookでメール受信者がローカルパスをクリックできるようにUNCパス化するマクロを作ってみた2019-10-21Outlookでメール受信者がローカルパスをクリックできるようにするマクロを作ってみた2019-10-20VBAでWin32APIの64bit対応自動変換プログラムを作ってみた2019-10-06ワークシート用ユーザー定義関数を揮発性にする方法2019-10-04VBAによる安定したワークシート用ユーザー定義関数の作り方2019-10-02VBA関数のライブラリ名やモジュール名の省略を検知するアイディア2019-09-29EnumWindowsを使って別プロセスのExcelを取得してみた2019-09-24エクセルマクロで野生のマグロを駆逐するミニゲームを作ってみた2019-09-19VBAでIIF関数が全ての項を評価してしまうのは当然である2019-09-16VBAの裏技?コロンで好きな位置にブレークポイントを設置する2019-09-15VBAのStopとDebug.Assertステートメントの違い2019-09-13VBAのInStr関数の不思議な挙動について調べてみた2019-09-08VBAで文字列中の文字をカウントする関数を作ってみた2019-08-31VBAで環境に依存しないWindowsMediaPlayerの使い方もっと見る最新記事(ハードウェア)2019-10-31Realforceを買ってみた。TS-932X-2Gを購入しました。広告プライバシーポリシースターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。