|
下記のような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はすでに実装済みであるものとします。
|
|