自動で表示される保存ダイアログに指定ファイル名を渡したい

タグの編集
投稿者 joe  (社会人) 投稿日時 2009/7/6 22:17:01
初めて投稿します。

VB6.0内でプリンターをPDFに設定し
データ及び罫線を出力するプログラムを作成しています。

Printer.Print データ
このタイミングで、保存ダイアログが自動表示されてしまうのですが
そのダイアログに指定ファイル名を渡したいので
その方法を教えていただけないでしょうか?

ファイルを保存してPDFに変換も考えたのですが
罫線付きの帳票をPDFで作成したいのでデータ読込んで
そのままPDFへという方法を取ってます。

保存ダイアログをプログラム内で呼び出す方法は分かるのですが
自動(Printのタイミングで自動で表示される)で表示されるダイアログに
ファイル名を渡す方法を教えてください。

投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/7/7 00:50:31
> VB6.0内でプリンターをPDFに設定し

どのドライバをお使いでしょうか。Adobe製? それとも別メーカー? バージョンは?

環境が分からないのでアドバイスがしにくいのですが、
お使いの PDF 用仮想プリンタドライバ製品によっては、
ダイアログによる問い合わせなしで変換できる可能性があります。

・レジストリを使って、標準のファイル名を決定できる物。
・ファイル名を指定可能な ActiveX コンポーネントが用意されている物。
・印刷ドキュメントが使われる物。← VB6 からは DOC_INFO_1 構造体で指定可能
・その他、何らかのファイル名指定の方法が用意されている物。
・そもそも、ファイル名指定画面を省略する機能を持たない物。

メーカーのサイトで検索、あるいは問い合わせてみては如何でしょうか? 

たとえば…。
http://okwave.jp/qa197098.html
投稿者 joe  (社会人) 投稿日時 2009/7/7 01:07:10
回答ありがとうございます。

ドライバはAdobe Acrobat 9.0をインストールしていますので
Adobe PDFのプリンターにPDF出力しようとしております。

http://okwave.jp/qa197098.htmlは調査中に拝見しました。

このサイトとはやりたいことが少し違うのですが
VB側でPDF変換せずに、データを直接印刷(PDFへ)の手法をとってます。
その際に保存ダイアログが「PRINTER.Print ”データ”」のタイミングで
自動表示されるので、そのダイアログに指定ファイル名を渡せないかと思いまして
色々検索している次第です。
よろしくお願いします。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/7/7 04:19:38
9.0 というバージョンはどうだか分かりませんが、私が以前使っていた物(5.0 だったかな?)では、
インストールすると、PDF 出力用のプリンタが 2 つ登録され、それぞれ
 ・PostScript ファイルからの PDF 変換を行う「Acrobat Distiller」
 ・GDI に対する印刷結果を PDF 化する「PDFWriter」
という名前のプリンタだったと記憶しています。それが 6.0 からは「Adobe PDF」に変更されたとも
聞いていますが(見た事は無い)、それ以降使っていないので、詳しい事は私には分かりません。
(Office 2007 に PDF 出力機能があるので、普段はそれで間に合わせています)


で、そのかつてのバージョンでは Printer.Print による出力では、ファイル名のダイアログが
どうしても表示されてしまったため、その対応策として
 (案1)「レジストリで既定のファイルを指定」し、印刷後に任意の場所に移動させる。
 (案2)「API による印刷」では文書名を指定できるので、Printer オブジェクト以外で印刷。
という対応を、adobe の有償サポートから得ました(と、当時の担当者から聞いています)。

まずは製品ドキュメントや adobe 社の国内外のサイトを調べてみて、それで情報が得られないようで
あれば、adobe のサポートに問い合わせてみては如何でしょうか。具体的な回答では無いですが…。
投稿者 joe  (社会人) 投稿日時 2009/7/7 22:10:36
魔界の仮面弁士さんありがとうございました。

App.Title =”指定ファイル名”でEXE作成したところ
保存ダイアログに表示させることができました。