投稿日 | : 2003/07/13(Sun) 04:35 |
投稿者 | : Say |
Eメール | : |
URL | : |
タイトル | : Re: MSFlexGridの印刷の質問 |
んー。一連の流れ見たら、
●MS AccessかMS Excel持ってるなら、そちらで作ったほうがはるかに楽です。
●VBでやるにしても、mdbファイル、DataGridコントロール、DataReportの
組み合わせのほうが簡単でしょう。
●市販のocxの中には、GridやSheetを直接印刷する機能を持ったものもあります。
予算に余裕があるなら、それを利用するのも手です。
それはさておき・・・
> 氏名の1段下に記録項目が表示されてしまいます。
多分、現状なら氏名データが全角4文字以内なら改行しません。
氏名データの文字列長がそれ以上になるのなら、
印刷位置を考え直しましょう。
> また、各記録項目のデータも各項目の下には表示されません。
◆位置あわせをきちんとやる。
◆等幅系フォントをつかう(プロポーショナルフォントを使わない)
◆フォントサイズは3の倍数にする
が原則です。
表示位置をTabやSpaceなどに頼らず、項目ごとにTextWidthで文字列幅とって
CurrentX,CurrentYを設定するようにすれば、Fontのことは気にしなくても大丈夫ですが・・・。
余談ながら、
ScaleModeをvbPointsにして、印刷部分をプロシージャ化して
Sub flexPrint(obj As Object)
obj.Font.Size = 12
obj.Font.Bold = False
....
みたいな書き方しておけば、
Call flexPrint(Printer)で印刷
Call flexPrint(Picture1)でプレビューできます。
紙代やインク代もバカにならないし。