年賀状など、ハガキの宛名書きへの応用を考えました。エクセルで次のような表を作ります。 ここで、第一行目の、「名前」、「郵便番号」、「住所1」、「住所2」の各項目名はその通りにして下さい(「1」、「2」は全角です)。 位置は順不同でも良いです。郵便番号はここではハイフンを入れておきます。
エクセルから、csvファイルを出力します。「名前を付けて保存」で開くダイアログボックスの「ファイルの種類」で、やや目立たないですが、 「CSV(カンマ区切り)(*.csv)」を選び、出力します。このファイルも、開くときのソフトは、デフォでエクセルに結びつけられていると思いますが、 「メモ帳」でも開くことができ、こんな感じです。
これを、バージョンアップした「FormMaker 1.1」(このページの末尾にあります)で開きます。 「ファイル(F)」メニューに新たに加えられた「csvから変換」を選んで、*.csv を *.fmm に変換します。
生成された「住所録」のプログラム(住所録.fmm)こうして吐き出されたファイル(もちろん修正もできる)を、「ファイル(F)」メニューの「開く(O)」で改めて読込み、プリントします。
タグの機能にも変更があります。 何れ整理してご説明しますが、変更点だけを述べます。
[PSize] | 規格されている紙のサイズです。現状では、A3,A4,A5,B4,B5,B6,ハガキ,長3,長4,角3,Letter,Tabloid,Legal,Executive 。 |
---|---|
[mm/px] | 「[mm/px]25.4 /96」、「[mm/px]25.4 /100」、「[mm/px]1 /4」の3つのメジャーな選択肢が考えられます。 最初のものでは、ピクセルをそのまま公式(?)なピクセルとして定義し、スケールの調整はないです。 出力が大き目になる分、最も小さなピクセル範囲に収めて編集する必要があります。 第2のものは、1ピクセルが 1/100 インチになり、前回主にご説明したものです。この文がない場合のデフォルトになります。 第3のものは、第2のものと大差ないですが、1ミリメートルが4ピクセルになるので、計算が簡単です。 その他、任意のスケール(倍率)が可能です。 |
[Font] | [TFont]と同じ機能です。 |
[Dtext] | グローバルな文字列を書きだします。引数には、x位置、y位置、文字間隔(省略可;第4引数が必要で省略するときは「0」)、幅(省略可)が指定されます。 行間隔は#Hで指定されますが、これがゼロのときは、デフォルトの間隔が使われます。 書き出し以降のy位置が変数#Uに代入されます。 #Rにゼロでない値があると、角に丸みのある長方形の線で囲われます。 各行の中身が「,」で区切られてるマルチカラムの利用が可能です。 この場合、[DText]をくり返して呼び出すと、左のカラムから順に利用できます。 |
[DSingle] | 単一行を書きだします。引数には、x位置、y位置、文字間隔(省略可)、さらに「;」の後に、文字列を直接指定します。 |
[DSingleWild] | [DSingle]とほぼ同じですが、コメント指定「//」が無視されます。 |
以上のルールで書かれたプログラムをコンパイルする⦅pdf化,印刷,画像ファイル作成⦆ためのプログラムは次のものです。
FormMaker.cs (1.1)なお、前回ご紹介した各フォームのプログラムもこれに伴って書き換えるべきところもあり、それは以下の通りです。
「日誌」のプログラム(daily.fmm)