VBScript VisioをPDFに変換

このQ&Aのポイント
  • VBScriptを使用してVisioをPDFに変換する方法について質問です。
  • コマンドプロンプトからVBScriptを実行してVisioをPDFに変換しようとしていますが、アクセスが拒否されるエラーが発生します。
  • Visioのマクロではうまく動作するのに、コマンドプロンプトではうまく変換できないのか疑問です。
回答を見る
  • ベストアンサー

VBScript VisioをPDFに変換

初の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プロジェクトオブジェクトモデルへのアクセスを信頼するにチェック

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

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

nobiperor
質問者

お礼

回答ありがとうございます。 Excel等はOKだけどVisioだけはNGってなんかヘン。 VBSでの参照設定はできないみたいですね。 http://oshiete.goo.ne.jp/qa/2304439.html VisualStudio勉強しながら、もう少し待ってみます。 ありがとうございました。

関連するQ&A

  • PDF変換ソフトについて(フリー)

    今、フリーソフトでvsd(visioファイル)をpdfに変換できる ソフトを探しているのですが、見つかりません。 オススメソフトありませんか?? 試したソフトは、クセロPDF・PrimoPDF・瞬簡PDF ZEROで どれも変換できませんでした。 なお、Acrobatのプロフェッショナルは持ってません。 すいませんが、教えてください。

  • VBScriptで実現できますか?

    今、以下のような処理の流れを、VBScriptで作成しています。 ------------------------------------------------------------- (1)test.batファイルの実行 (2)PDFファイルの生成処理の実行 (3-1)PDFファイルが生成されていれば、終了 (3-2)PDFファイルが生成されてなければ、test.batを停止し、    (1)からの処理を繰り返す ------------------------------------------------------------- (3-2)で記述してます、「停止」というのは、 コマンドプロンプトの画面で言う「Ctrl+C」の事なのですが、 この部分は、ロジックでどのように記述すればいいか、困っています。 ご存知の方がいましたら、ご教授願います。 よろしくお願いします。

  • wordで書いた文章をpdfファイルに変換するには?

    wordで書いた文章をpdfファイルに変換したいのですが、 コマンドプロンプト上でどのようなコマンドを打てばよいでしょうか? それ以外にも変換方法があれば教えて下さい。

  • psからpdfへ変換

    TeXからpsファイルを作成し、 ghostscript7.07をインストールした上で、コマンドプロンプトから ps2pdf file1.ps file1.pdf と実行しても、*** Unable to open the initial device, quitting, と表示されてうまくいきません。 file1.psは存在しているのにうまくいきません。 といいますのも、TeXからdvi経由でdvipdfmxを実行しても、TeXに埋め込ませた eps形式の画像が表示できません。従って、psに変換してps2pdfを試みています。 要はepsを貼り付けたTeXをpdf形式に正しく変換する方法を教えていただきたいわけです。 どうかよろしくお願いいたします。

  • dvi → pdf

    texでDVIファイルをPDFファイルに変換したくて、 dvipdfm test.dvi を実行しました。 しかし、画像が表示されません。 どのようにしたらいいのでしょうか。 エラー文は以下のようにでます。。 pdf: image inclusion failed for (test.eps). ][35(./test.eps<PS>'gswin32c' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。 どうかよろしくおねがいします。

  • VBAで外部プログラムを非表示で実行するには

    VBAとVBScriptを混同しているのかもしれませんがよく分からないので教えてください。 Excel2010のVBAから、外部プログラム(test.exe)をコマンドプロンプトを非表示の状態で実行して、外部プログラムの実行が終了するのを待ってから、次の処理をさせたいのですが、test1のプログラムでは(A)の部分でエラーになってしまいます。また、test2のプログラムでは正しく実行されるのですがコマンドプロンプトのウインドウを非表示にする方法がよく分かりません。 test1のプログラムでエラーをでなくする方法、または、test2のプログラムでコマンドプロンプトのウインドウを非表示にする方法がありましたら教えてください。 ------------------------------------------------------- Sub test1()  Dim ws As Object  Dim we As Object  Dim command As String  command = "C:\test.exe"  Set ws = CreateObject("WScript.Shell")  Set we = ws.Run("%ComSpec% /c " & command, 0, False) '<===(A)  Set we = Nothing  Set ws = Nothing End Sub ------------------------------------------------------- Sub test2()  Dim ws As Object  Dim we As Object  Dim command As String  command = "C:\test.exe"  Set ws = CreateObject("WScript.Shell")  Set we = ws.exec("%ComSpec% /c " & command)  Do Until we.Status   DoEvents  Loop  Set we = Nothing  Set ws = Nothing End Sub -------------------------------------------------------

  • コマンドプロンプトの出力をVBScript内の変数に代入する

    VBScriptからコマンドプロンプトのver | findstr 5.1を実行し、その出力結果をVBScript内の変数に代入したいのですが、どうすればいいでしょうか? Dim WShell Dim result Set WShell = WScript.CreateObject("WScript.Shell") WShell.Run "cmd /c (ver | findstr XP > " & result & ")" MsgBox result とやってもresultには何も入っていませんでした。

  • VBScript でサブフォルダも含めて、フォルダごとコピーを実行するには?

    バックアップの自動化をもくろんでいます。 VBScriptを用意し定刻に実行するようにしようと考えています。 VBScript でサブフォルダも含めて、フォルダごとコピーを実行するには、どうプログラムをかけばよいでのしょうか? Set objFS = CreateObject ("Scripting.FileSystemObject") objFS.CopyFolder "c:\test1", "c:\test2", false だとtest1の中のサブフォルダはコピーしてくれませんでした。 ここでオプションか何かで、サブフォルダーごとコピーしたいのです。 参考までにコマンドプロンプトの xcopy c:\test1 c:\test2 /x と同じ働きをさせたいのです。 よろしくお願い致します。

  • ExcelのPDF変換について

    ExcelのPDF変換について OS:WindowsXP Office:Excel2003 PDF変換:Adobe Acrobat Proffesional 6.0 上記使用しています。 Excelの複数シートをまとめて1つのPDFに変換したいのですがうまくいきません。 現象としては、 シートを複数選択(作業グループ)している状態で印刷→AdobePDFドライバーを選択 にすると、各シートの保存確認が出てきてしまい、結合されません。 (1枚1枚はPDFに変換されますが10シート選択した場合は10ファイル出来てしまう) 枚数が多いので出来れば一括変換したいのですが、何故出来ないのでしょうか・・・ ちなみに、今まで全く同じ形式のExcelファイルで同じ操作を実行して変換できていました。 (中のデータだけ変えていて、ファイル自体は以前の物をコピーして使い回しているようです) さらに、他のExcelファイルで試したところ、複数シート選択・印刷実行で変換が可能でした。 これを踏まえて考えるとExcelのファイルの問題だと思うのですが・・・ マクロが含まれているため(これは以前なかった)、それが原因かと思いましたが、 マクロを含むシート以外を抜き出して別のブックに保存し、試しましたがやはり1つずつ分割されて変換されてしまいます。 問題のファイルをマクロを無視して開く・マクロを有効にして開く、どちらもやってみましたが同じでした。 もし改善する方法をご存知の方がいらっしゃったら教えていただけると助かります・・・ ※試しにPrimoPDF(フリーのPDF変換ソフト)でもやってみましたが、全く同じ現象です。 このExcel何がダメなんでしょう????

  • VBscriptでコマンドラインへ発行したい

    VBscriptでコマンドプロンプトを起動させテキストを発行させることで悩んでおります。 コマンドラインのツールを実行させそこへテキストに記述された内容を実行させたいと思っています。 Dim strCOM For i = 1 to 15 strCOM = "cmd /C C:\○○○○\△△△△.exe 'ここがわかりません 'テキストファイルを流したいのですが・・・・ 'コマンド名を仮に@@@@とします。 "@@@@ D:\HEPPOKO" & Right("000" & CStr(i), 4) & ".txt" 'をコマンドライン上に流したいのですが・・・ Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.Exec(strCOM) FileCopy "D:\HEPPOKO" & Right("000" & CStr(i), 4) & ".txt", "D:\終了\HEPPOKO" & Right("000" & CStr(i), 4) & ".txt" 'ここにSleep関数?で5分後とカウントアップにしたいのですが調べてみてもちょっと検討がつかなかったので・・・ '教えていただけないでしょうか? Next

専門家に質問してみよう