投稿者 DAI  (社会人) 投稿日時 2015/7/9 09:43:16
魔界の仮面弁士さん 回答して頂いて有難うございます。

説明不足で申し訳ありません。少しプログラム内容を記述します。

プログラムの上部で

Public Declare Function WritePrinter Lib "winspool.drv" (ByVal _
    hPrinter As Long, pBuf As Any, ByVal cdBuf As Long, _
    pcWritten As Long) As Long

と設定。


例えば区切り線行を印刷する場合の記述

Function Kugiri_Line()

    sWrittenData = "=================================================="
    lReturn = WritePrinter(lhPrinter, ByVal sWrittenData, Len(sWrittenData), lpcWritten)

    sWrittenData = vbCrLf
    lReturn = WritePrinter(lhPrinter, ByVal sWrittenData, Len(sWrittenData), lpcWritten)

End Function

のように記述してあります。
このようなケースが帳票ヘッダ部や明細部と多数あります。
(sWrittenDataに色々なデータを移送し、WritePrinterを実行しています。)

現状、色々とウェブから情報を入手し、Printer オブジェクトを使用して
テストをしているところですが、なかなか思うようには進んでいない状態です。
(縦倍角文字や横倍角文字などで苦戦しています)


それと、「DocuWorks Printer」というのは、
通常、このプリンタに出力するとユーザーフォルダにPDFファイルのようなものが
作成されるのですが、現在はプログラムを実行しても「文書が作成できません」と
メッセージを表示して、ファイルが出来ていない状況です。
プログラムをデバッグしながら原因を調査中です。