シーオーリポーツ的便利機能(4)

みなさま、こんにちは。しむぅです。

過去(2001年~2003年)にメールニュースにて配信された「シーオーリポーツ的便利機能」を掲載していきます。
現行の製品と動作が異なる場合もあります。ご了承ください。

benri_title11

帳票を不定形用紙サイズに印刷するの巻

フォームエディタの達人からシーオーリポーツの達人へと修行中の「きょ~こ」と、師匠「しむぅ」が繰り広げる「シーオーリポーツ的便利機能」も今回で四回目。前回、定形用紙サイズへの印刷に成功した「きょ~こ」。今回はなにやら小さな用紙を持って悩んでいます。
ずずず・・・やはり日本人はお茶よのぉ~ずずずずずっ
ちゃんと「SetFormSize」を記述してあるのにどうして印刷できないんだろう???
ゲホゲホッ・・・騒がしい奴じゃ。今度はいったい何があったんじゃ?
今、会員証発行システムを開発してるんですけど、その会員証が印刷できません。この10cm×20cmの用紙に会員証を印刷して発行するだけなのに。前回「SetFormSize」を記述をすることで、フォームエディタで作成した用紙サイズで印刷ができると言っていたのにおかしいですよね、師匠?
ふむふむ。「SetFormSize」を使うということは正解じゃ。「SetFormSize」を記述することで、作成したフォームファイルの用紙サイズで印刷ができるというのは前回教えたことじゃったな。ただし、前回はA3用紙とかA4用紙といった「定形用紙サイズ」じゃった。
今回印刷しようとしているのは「不定形用紙サイズ」という、いわば規格外の用紙サイズじゃ。
では、定形用紙サイズに印刷してから好みの大きさにカットしなければいけないんですか?そんな面倒なことできませんよぉ。
まぁ、最後まで聞くんじゃ。本当にせわしい奴じゃなぁ。嫁の貰い手がなくなるぞ。
むっ・・・自分だって、ん十年も嫁の来手がないくせに・・・
あ~なんか言ったか?最近耳が遠くてのぉ。さて、10cm×20cmといった不定形用紙サイズで印刷するには、ユーザが独自に用紙サイズ定義ができる、つまり「ユーザ定義サイズ」が指定できるプリンタでなければいけないんじゃ。
今回はプリンタが「ユーザ定義サイズ」に対応していなかったと?
それもあるかもしれん。
他にも原因があるのですか?
指定したサイズがプリンタで印刷できる範囲外である場合じゃ。例えば、A4の用紙サイズまでしか印刷できないプリンタにそれ以上の大きさを指定しても無理だしぃ~♪
「だしぃ~」?
ゴホンッ。え~、そうそう、プリンタプロパティ上でしか用紙設定ができない場合や、Windows NTや2000については用紙登録をする権限がないと駄目なんじゃ。これらはシーオーリポーツ Ver.7の自動用紙登録機能との問題なんじゃ。
用紙登録の権限?自動用紙登録?
Windows NTや2000では、「サーバのプロパティ」でユーザ定義サイズの用紙登録をするんじゃ。シーオーリポーツ Ver.4.5までは、印刷する前にこの作業が必要であった。それがVer.7では、なっ・なんと!自動で用紙登録を行なってくれるんじゃ。すごいじゃろ?
ふぅ~ん。シーオーリポーツ Ver.7が自動で用紙登録できないから印刷ができないということなのかしら?でも、印刷する権限があれば印刷できるのでは?
きょ~こは、冷たいのぉ・・・。つまり、印刷する権限と用紙登録の権限というのは別モノなんじゃよ。
用紙登録の権限がなくても印刷する権限があれば通常の印刷ならできる。
シーオーリポーツ Ver.7で印刷する用紙サイズが不定形の場合、自動で用紙登録を行なうため、用紙登録の権限がないと不定形サイズでの印刷ができないんじゃ。
さて、長くなってしまったな。ここで今回のまとめをしておこう。
不定形用紙サイズの印刷ができないのは・・・
Windows 95/98/Me 系

  • プリンタがユーザ定義サイズをサポートしていない場合
  • プリンタプロパティ上でしか、ユーザ定義サイズが設定できない場合
  • ユーザ定義サイズで設定できる範囲内の用紙サイズでない場合

Windows NT/2000 系

  • プリンタがユーザ定義サイズをサポートしていない場合
  • プリンタの設定内のサーバのプロパティにおける権限がない場合
  • ユーザ定義サイズで設定できる範囲内の用紙サイズでない場合
じゃあ、印刷できなくても仕方がないっていうことで。
ちょっと待てぃ!用紙登録ができないときには、そのプリンタが印刷できる用紙サイズに印刷するはずだぞ?!
・・・えっ?!あ~っ、電源入れてなかった・・・。