Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


64845 / 76734 ←次へ | 前へ→

【16466】Excelファイルのシート内容をpdfファイルに自動保存処理するコード
質問  しん E-MAIL  - 04/7/28(水) 13:37 -

引用なし
パスワード
   下記のようなVBScript(ExcelファイルC:\test.xlsのSheet1をpdfファイルとして表示保存)

'===========excelpdf.vbs (sheet1のみを印刷) ======================
Set ExcelObj = WScript.CreateObject("Excel.Application")
MyDoc = "C:\test.xls" ' PDF化したいファイル
On Error Resume Next ' これやっとかないと、あとでエラーになったとき余計なプロセスが生じてしまう
ExcelObj.Workbooks.Open(MyDoc)
ExcelObj.Visible = False
currentPrinter = ExcelObj.ActivePrinter
ExcelObj.ActivePrinter = "Acrobat Distiller on Ne01:" ' この部分は、各自の環境にあわせて
ExcelObj.Worksheets("Sheet1").Activate ' Sheet1 のみActivate
ExcelObj.ActiveSheet.PrintOut        ' Sheet1 のみ印刷
ExcelObj.Workbooks.Close
ExcelObj.ActivePrinter = currentPrinter ' ここでエラーがでることがあります・・・
ExcelObj.Quit
Set ExcelObj = Nothing

を実例として見つけたので、このVBSを動かすためのExcelマクロ

'===========VBS起動マクロ==============================
Sub VBS()
 Set WSHShell = CreateObject("Wscript.Shell")
 WSHShell.Run "C:\excelpdf.vbs"
End Sub

と組み合わせて、このExcelマクロを実行することにより、ExcelファイルC:\test.xlsをpdf化することがうまくできました。しかし、pdfファイル作成時に保存先名を聞いてくることと上記マクロが終了してもpdfファイルが開かれたままになっているのが少し不満です。

それで、
1)ターゲットとなるpdfファイル名の指定をコードであらかじめできるようにしたい
2)pdfファイルをマクロ終了と同時に閉じるようにしたい
のですが、上記コードをどのように変えればいいのか教えて頂けませんか?

ただし、Acrobat 5.0はすでに実装済みであるものとします。

1 hits

【16466】Excelファイルのシート内容をpdfファイルに自動保存処理するコード しん 04/7/28(水) 13:37 質問

64845 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free