プロが教えるわが家の防犯対策術!

初のVBScriptで分からない部分が出てきましたので質問させていただきます。


コマンドプロンプトからVBSScriptを実行し、
VisioをPDFに変換しようと考えています。

以下のファイルを作成し実行しましたが、
「アクセスが拒否されました。」と表示されます。(コード:86DB0971)

Visioを開き、ExportAsFixedFormatをマクロとして実行したらうまくいきました。
コマンドプロンプトではうまくいかないものなのでしょうか?


test.vbs
---------------開始---------------
Dim vsApp
Dim vsDoc
Set vsApp = CreateObject("Visio.Application")

'既存のファイルを開く
Set vsDoc = vsApp.Documents.Open("C:\test.vsd")

'PDFに変換し保存
vsApp.ActiveDocument.ExportAsFixedFormat visFixedFormatPDF, "C:\test2.pdf", visDocExIntentPrint, visPrintAll

vsDoc.Close

vsApp.Quit
---------------終了---------------

環境
WindowsXP
Visio 2007

マクロの設定
・すべてのマクロを有効にする。
・VBAプロジェクトオブジェクトモデルへのアクセスを信頼するにチェック

A 回答 (1件)

Visio は持ち合わせておりませんが


面白い(失礼)エラーだと思いまして『86DB0971』を Google ってみました
すると、VB6? の話なのですが以下が見つかりました。
http://forums.aspfree.com/visual-basic-programmi …
最後に自己解決していますが、それによれば
Createobject("Visio.Application") で作っていても
さらにMicrosoft Visio 12.0 Type Library に参照設定のチェックが必要だった。
Access や Excel なら Createobject("Excel.Application") とかだけで良かったのに・・・
ということでした。
VBS で 参照設定のようなことは出来ませんので(多分。。)
無理ではないかと。。。?

識者のご登場をお待ちください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

Excel等はOKだけどVisioだけはNGってなんかヘン。

VBSでの参照設定はできないみたいですね。
http://oshiete.goo.ne.jp/qa/2304439.html


VisualStudio勉強しながら、もう少し待ってみます。
ありがとうございました。

お礼日時:2011/02/23 12:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!