[リストへもどる]
一括表示

投稿時間:2004/03/17(Wed) 20:21
投稿者名:やな
URL :
タイトル:
プリンターの制御
VB5.0のプログラムで計測データをインクジェットプリンターに印刷してます。
 1回の計測データが2,3個の場合でもこれを印字すると改ページしちゃいます。
 これを改ページしないようにしたいのですが。
 かれこれ2,3週間ほどメーカーに問い合わせたり、調査したりしてますが
 未だに解決策が見出せていません。A4サイズのプリントバッファに溜め込んで、
 バッファが満杯になったら印字する方法ではちょっと不都合が発生し、この方法
 がとれません。
 唐突なご質問で申し訳ございませんが、どなたかアドバイス頂けませんでしょうか。
   PC:TOSHIBA DynaBook OS:Windows2000 printer:hp deskjet990cxi
 

投稿時間:2004/03/17(Wed) 21:15
投稿者名:nobu
Eメール:
URL :
タイトル:
Re: プリンターの制御
> VB5.0のプログラムで計測データをインクジェットプリンターに印刷してます。
>  1回の計測データが2,3個の場合でもこれを印字すると改ページしちゃいます。
>  これを改ページしないようにしたいのですが。

そのデータをファイルに書き出したらどう言うデータになっていますか?
複数の空白行などが含まれたりはしていませんか?
ファイルに書き出してから必要な整形をしてから印刷すれば
どの様にでもなると思うのですが、こう言う手法が取れない理由でもある?

投稿時間:2004/03/18(Thu) 13:13
投稿者名:やな
URL :
タイトル:
Re^2: プリンターの制御
> > VB5.0のプログラムで計測データをインクジェットプリンターに印刷してます。
> >  1回の計測データが2,3個の場合でもこれを印字すると改ページしちゃいます。
> >  これを改ページしないようにしたいのですが。
>
> そのデータをファイルに書き出したらどう言うデータになっていますか?
> 複数の空白行などが含まれたりはしていませんか?
> ファイルに書き出してから必要な整形をしてから印刷すれば
> どの様にでもなると思うのですが、こう言う手法が取れない理由でもある?

早速のアドバイス ありがとうございました。
 エディターで2,3行のテストデータを作ってファイルに保存。
 このファイルを入力し、印字させてテストしてます。
   filenum = FreeFile
      readData = ""
      open "---file name (.txt)---" For Input As #filenum
         Do Until EOF(1)
             Line Input #1, temp
             readData = readData & temp & vbCrlf
          Loop
       close #filenum
       Printer.print readData
       Printer.EndDoc

readDataをファイルに書き込んでこのデータを調べることですか。
これからやってみます、、、
必要な整形をするということは、制御コードを付加するってことでしょうか。
この例ですとデータの各行毎にvbCrlfを付加してますが。
制御コードというのはどうやって探せばよろしいでしょうか。
EndDocメソッドの中身は変更できないですよね。
お手数をおかけしますが、宜しくお願い致します。

投稿時間:2004/03/18(Thu) 17:19
投稿者名:nobu
Eメール:
URL :
タイトル:
Re^3: プリンターの制御
状況が良く飲み込めません。
私の解釈にも誤解があるかも知れませんが。

>  エディターで2,3行のテストデータを作ってファイルに保存。
>  このファイルを入力し、印字させてテストしてます。

最初の質問時にはそうは書いて無いですね。
「1回の計測データが2,3個の場合でも」と言う表現から
ファイルに書き出してからでは無くて計測データを直接
印字しているものと解釈しました。
ですから計測データから空データか何かで空行などを印字してしまい
1ページの印字行数がオーバーして改ページするのかと...。

下記の提示コードも実コードでは無いのでは?


>       open "---file name (.txt)---" For Input As #filenum

#filenum となっているのに

>          Do Until EOF(1)
>              Line Input #1, temp

1や#1ではおかしいでしょう。

>        close #filenum

ここは #filenum だし。

> readDataをファイルに書き込んでこのデータを調べることですか。

ファイルに書き出すなら「1回の計測データが2,3個の場合でも」では無くて
実際に計測から送られて来るデータを2,3個では無くて
もっと多くのデータをファイルに書き出して中身を調べたらどうなっていますか?

> 必要な整形をするということは、制御コードを付加するってことでしょうか。

空行があるなら、それを削除するなりしたら...と言う意味でした。
無ければ別の原因でしょうから、それなりの原因究明と対策が必要ですね。

> この例ですとデータの各行毎にvbCrlfを付加してますが。

こう言う処理を加える前の実データをファイルにして目で確認をしたらと言う事です。
すでに実際のデータがどう言うものかの確認はされているのですか?
想像や加工したものでは無くて印字している時のありのままのデータと言う意味です。

EndDoc でも1ページ分に満たないデータでも印刷が終われば用紙の排出はする
と思われますが、そうで無ければ困りますし。
提示のサンプルで "---file name (.txt)---"  の中身が2,3行でも
このファイルの中身を全て印刷したら用紙が排出される(改ページ)のでは?

見当違いなら、そう言って下さい。投稿は削除します。

投稿時間:2004/03/18(Thu) 19:39
投稿者名:やな
URL :
タイトル:
Re^4: プリンターの制御
> 状況が良く飲み込めません。
> 私の解釈にも誤解があるかも知れませんが。
>
> >  エディターで2,3行のテストデータを作ってファイルに保存。
> >  このファイルを入力し、印字させてテストしてます。
>
> 最初の質問時にはそうは書いて無いですね。
> 「1回の計測データが2,3個の場合でも」と言う表現から
> ファイルに書き出してからでは無くて計測データを直接
> 印字しているものと解釈しました。
> ですから計測データから空データか何かで空行などを印字してしまい
> 1ページの印字行数がオーバーして改ページするのかと...。
>
> 下記の提示コードも実コードでは無いのでは?
>
>
> >       open "---file name (.txt)---" For Input As #filenum
>
> #filenum となっているのに
>
> >          Do Until EOF(1)
> >              Line Input #1, temp
>
> 1や#1ではおかしいでしょう。
>
> >        close #filenum
>
> ここは #filenum だし。
>
> > readDataをファイルに書き込んでこのデータを調べることですか。
>
> ファイルに書き出すなら「1回の計測データが2,3個の場合でも」では無くて
> 実際に計測から送られて来るデータを2,3個では無くて
> もっと多くのデータをファイルに書き出して中身を調べたらどうなっていますか?
>
> > 必要な整形をするということは、制御コードを付加するってことでしょうか。
>
> 空行があるなら、それを削除するなりしたら...と言う意味でした。
> 無ければ別の原因でしょうから、それなりの原因究明と対策が必要ですね。
>
> > この例ですとデータの各行毎にvbCrlfを付加してますが。
>
> こう言う処理を加える前の実データをファイルにして目で確認をしたらと言う事です。
> すでに実際のデータがどう言うものかの確認はされているのですか?
> 想像や加工したものでは無くて印字している時のありのままのデータと言う意味です。
>
> EndDoc でも1ページ分に満たないデータでも印刷が終われば用紙の排出はする
> と思われますが、そうで無ければ困りますし。
> 提示のサンプルで "---file name (.txt)---"  の中身が2,3行でも
> このファイルの中身を全て印刷したら用紙が排出される(改ページ)のでは?
>
> 見当違いなら、そう言って下さい。投稿は削除します。

大変失礼いたしました。
 インターネットに接続しているPCと、計測データのテスト印字処理を行って
 いるPCが別で、ソースコードを目で見ながらタイプしたのでミスに気が付き
 ませんでした。投稿した内容の意味が不明で誤解を与えてしまいましたことを
 お詫び申し上げます。

> EndDoc でも1ページ分に満たないデータでも印刷が終われば用紙の排出はする
> と思われますが、そうで無ければ困りますし。
> 提示のサンプルで "---file name (.txt)---"  の中身が2,3行でも
> このファイルの中身を全て印刷したら用紙が排出される(改ページ)のでは?
 そのとおりです。すみませんでした。printer.enddocを実行して印字が
 開始され、印字が終了すると改ページされますが、これを改ページしないように
 する方法がないものかと悩みつづけていました。仮にその方法があれば、改ページ
 の管理はアプリ側で行う(NewPage)ことになると思いますが。
 投稿内容がわかりにくく、大変お手数をおかけしましたことを重ねてお詫び申しあげます。
 こういう使い方をしている人が皆無に近いことは確かなようですね。
 あとは特注品のドライバーを注文するしかないのでしょうか。
 困ったなぁ 〜〜、、、、