pdfファイルへ出力 |
- 01: 名前:rumi投稿日:2003/09/17(水) 18:07
- 「印刷」ダイアログの「ファイルへ出力」コマンドで
Adobe Distillerを使用してpdfファイルを作成できますよね。
これをVBAから行なうことはできないでしょうか。
Visio2002 + Acrobat 5.0を使用しています。
※Visio2000でも行なえるとなおありがたいです。
- 02: 名前:yoda投稿日:2003/09/17(水) 23:42
- 自分で確かめた訳ではありませんが
ここがご参考になりそうです。
http://www.terra-intl.com/pdf.html [source] [check]
- 03: 名前:なか投稿日:2003/09/18(木) 08:38
- ↑の方法でいけそうです。
但し、Visio2000では駄目そうです。
(理由:ActivePrinterプロパティが2002からしか用意されていないから)
- 04: 名前:rumi投稿日:2003/09/19(金) 15:31
- アドバイスありがとうございます。
Excel VBAでは↑の方法でできたのですが
Visioではできませんでした。
「印刷中」のプログレスは表示されるのですが
その後 保存先選択のダイアログも表示されませんし
ファイルも作成されないのです。
ちなみにこのようなコードを書きました。
Dim objDoc As Visio.Document
Dim objPage As Visio.Page
Dim objTemp As Object
Dim strRet As String
Set objDoc = ThisDocument
Set objPage = ActivePage
objDoc.Printer = "Acrobat Distiller"
Set objTemp = objPage
strRet = objTemp .Print
Distillerの設定は以下のようにしています。
Distillerへフォントを送信しない … OFF
AcrobatでPDFを表示 … ON
PDFファイルの保存先を確認 … ON
成功したジョブのログファイルを削除 … OFF
既存のPDFファイルの上書きを確認 … ON
Visio2000ではやはりダメですか…。
ActivePrinterに替わる何かがあればと思ったのですが。
- 05: 名前:yoda投稿日:2003/09/20(土) 15:12
- 私の場合、Visio2000ですが、
Acrobatがないので、
redmonとgs8.0の組み合わせで、
rumiさんの場合と少し違いますが、
その組み合わせに使うプリンタを
通常使用する、にしておけば、
VisioHELPのprintメソッドの、
例にあるコード
Dim docObj As Visio.Document
Dim docObjTemp As Object
Dim dummy As String
Set docObj = ActiveDocument
Set docObjTemp = docObj
dummy = docObjTemp.Print
で、PDF出力できますので、
私には、よく分りませんが、
VB6.0か、API で、プリンタの設定を
通常使用に切り替えることが出来れば、
(これはもうVisioの話題ではないのですが)
rumiさんの場合も解決するのでは
ないかと思います。
- 06: 名前:rumi投稿日:2003/09/24(水) 14:21
- yodaさん、ありがとうございます。
お客さんがDistillerを使いたい&ghostを諾としないので
姑息ですがSendKeyを使って
印刷のショートカットキーをVisioに送ることにしました。
根本的な解決にはなっていませんが
そこそこ動作します。(苦笑)
ghostではできるというのがわかりましたので
別の機会に使わせていただこうと思います。
本当にありがとうございました。
- 07: 名前:rumi投稿日:2003/09/24(水) 14:25
- 追伸:
プリンタの設定は、仰る通りAPIで行なおうと思います。
|
|