0

私は VB6 で書かれたプログラムの BEAST を持っています。ActiveReports を使用して文字を生成します。

レポートはループで処理されます。言い回しを構築するループと (たくさんの) ネストされた 'if' ステートメントと 'case' ステートメントを使用します。ばか!

レポートは次のようにプリンタに送信されます。

Function PrintIt(ltrobj as Object)

    Set ltrobj = MyARdocument '(.Dsr file)
    ltrobj.txtfield1 = strVerbage           'This string was populated somewhere else
    ltrobj.Printer.DisplayProgressDialog = False
    ltrobj.PrintReport False

End Function

ここで奇妙な部分があります。ページは、ループの反復ごとに 90 度回転してプリンターから物理的に出てきます。さらに奇妙なことに、これは私の VB6 アプリケーションでのみ発生します。他の Word ドキュメント、レポート、バッチ ジョブなど、正常に動作するものは何でもです。

したがって、最初のページは通常どおり、最初にヘッダーが表示されます (北を指します)。2 ページ目は横向き (ヘッダーが西向き) になります。3 番目は 1 番目のようにプリンターから出てきます。4 番目は 2 番目のようにプリンターから出てきます。

プリンター:Ricoh Aficio MP5000

プリンターの設定、またはこれを制御する ActiveReports のプロパティが見つかりません。

任意のアイデア、ヘルプ、または一般的な指示をいただければ幸いです。

ありがとう、

ジェイソン

4

1 に答える 1

0

ActiveReports には「回転」設定はありません。これに最も影響を与える可能性があるのはページのサイズと向きですが、最悪の場合、実際にページを回転させるのではなく、前後に反転させると予想されます. 私はいくつかのことをしようとします:

  1. レポートの印刷時に、方向とページ サイズに関連するプリンターとページの設定をトレースします。
  2. 別のプリンターで印刷してみて、すべてのプリンターで発生するのか、このプリンターだけで発生するのかを確認してください。
  3. 画面上でレポートをプレビューし、プレビューで回転しているかどうかを確認します (または report.Export(...) ad を使用して PDF にエクスポートし、そこで回転しているかどうかを確認します)。

ページ設定をトレースするには、いくつかの場所で行う必要があります。プリンターに 1 つ、レポートの各ページ (またはキャンバス) にもう 1 つ。関連する可能性のある ActiveReport.PrintWidth (ページではなく、レポートの幅) もあります。したがって、各レポートを印刷する直前に、次の値をトレースしてみてください。

report.PrintWidth
' the default settings for the report
report.PageSettings.TopMargin
report.PageSettings.RightMargin
report.PageSettings.BottomMargin
report.PageSettings.LeftMargin
' actual printer's current settings:
report.Printer.PaperSize
report.Printer.PaperHeight
report.Printer.PaperWidth
report.Printer.Orientation
' settings for a specific page:
for each page in report.Pages:
  report.Pages(...).Width
  report.Pages(...).Height
  report.Pages(...).Orientation

ところで: ActiveReports COM ヘルプはこちらです。

プレビュー/PDF テストに問題がなければ、プリンター自体に注目します。明らかに別のプリンターへの印刷についても同じです。それ以外の場合は、ActiveReports の設定に注目してください。

お役に立てれば

Scott Willeke
GrapeCity
于 2011-08-13T20:31:06.220 に答える