- 締切済み
Excelのブック全体を自動的にPDFにしたい
Excelのブック全体を自動的にPDFに変換する方法を教えてください。 複数のシートを1つのPDFに変換しようとしています。Excelからでしたら、印刷時にPDFのドライバーを選択して「ブック全体」を印刷対象にすればよいのですが、これをExcelを使わずに行う方法を探しています。 条件としては以下の通りです。 ・特定のフォルダに、Excelのファイルをコピーする。 ・フォルダを監視して、Excelのファイルがあったらブック全体をPDFに変換する。 ・複数シートは1つのPDFにしたい。 ・PDFは別フォルダに出力する。 ・監視フォルダを作成するパソコンには、ExcelやPDF変換ソフトなどは導入可能。 監視は、監視ソフトやDistillerを使用すればできますし、別フォルダへの出力もそれらのソフトで可能です。ですが、「Excelを使わずに、ブック全体を自動でPDFに変換する」ソフトまたは方法がわかりません。 市販品にPDF変換サーバーソフトはありますが、数十万もします。できるだけ安価な方法をご教授願います。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
世の中、お金をかけるか、手間隙かけるか、の二択だと思いますが。 お金かけて良いのなら、フォルダ監視して指定されたプログラムを動かすソフトと、ExcelからPDF化するソフトの組み合わせになるでしょうが、「数十万もします」と書かれているように、組み合わせに必要なソフト揃えるだけでかなりの額になります。(そりゃ企業用の大規模システム前提の商品ですから。) 後々のサポートも面倒ですので、と言われても、お金もかけられない、手間もかけられない、じゃ無理ですよ。 まぁ、やりたがってる事自体は、タイマーでフォルダ監視して、フォルダにファイルが入ってきてたらExcelObject生成して、PDFドライバで印刷するだけの非常に簡単な物ですから、余裕見てもテスト込みで1日あれば十分作れる程度のものなのですけどね・・・(と言うか、作るだけなら1時間くらいで作れるんじゃ・・・) フリーやシェアウェア、一般流通ソフト等は基本的に個人使用で必要になるものを前提に作り、配布・販売されているわけです。 書かれているものの用途を考えれば、企業内でしか必要にならない訳で、そこはフリーやシェア、パッケージソフトのカバー範囲を超えているわけです。 なので、商用利用を見越した単価の高い商業向けソフトを買うか、自作(または委託開発)するかの二択になるわけです。 業務で押し付けられてて、その考えであるなら「手動を介さないと無理です」で逃げるしかないと思いますが。
- imogasi
- ベストアンサー率27% (4737/17069)
私も良くわからないが、質問者は部分的に知識があるような質問の書き方で有るが、そのため質問が判りにくい。 >これをExcelを使わずに行う方法を探しています。 エクセルの印刷の手動操作をせずにという意味か。 結局プログラムで実行ということか。 >Excelのブック全体を 1つの指定ブックだけ。沢山ブックは有るのか。 >・フォルダを監視して、Excelのファイルがあったらブック全体をPDFに変換する 監視して指定フォルダにファイルが追加されたら、質問の印刷処理を 起す、というのは超高等的ニックでは。 だから作ったプログラムを、質問者が、適当なとき(フォルダにコピーした直後などに)起動するで、よいのかどうか。 結局プログラムの実行で質問の内容を行いたいらしい。 であればエクセルのVBE(のコードを書く箇所)を使って、VBAの中に プログラムを作成しては。これが一番手っ取り早い。これも「エクセルを使わない」に違反するのかな。 ーー エクセルファイルをPDF化したり、印刷したりは、一般にプログラムを組むのは面倒で、やれる人は少ないから、手操作で出来るように市販ソフトは設計される。 だからプログラムでやろうとすると、PDF化するコマンドと元ファイル名指定、保存ファイル名指定をさせること、PDFを印刷するコマンド などのオブジェクト(プログラム部品)が必要だ。 これらはVBが出来る程度の素人が自作することはまず不可能。 だから作ったものを導入するしかない。エクセルのVBAなら、ツールー参照設定で参照できるようなカタチなら望ましい。 それを有料やフリーで、どこに有るか探すことが課題になる。 ただし、詳しくないが、そういうものはフリーで流通して無いのでは。市販のPDF関連ソフトを売る意味がなくなる。
Excelを起動しない、という前提なだけで、Excel自体は使って良いのなら、普通にVB等でExcelオブジェクトを生成して印刷すれば可能ですが。 [参考]Excelファイルにアクセスするには?[C#、VB] - @IT http://www.atmarkit.co.jp/fdotnet/dotnettips/717excelfile/excelfile.html PDF変換もプリンタドライバとして動作して、印刷するとPDFにしてくれるソフトが無償で配布されてますから、それを使えば良いのでは? ライブPDFなら、プリンタAPIを通じて出力ファイル名まで指定出来るようです。 [参考]プリンタAPI http://www.livepdf.jp/printerapi.html#save ExcelとかのVBAでプログラム組めるレベルの人なら、直ぐに作れるのでは?
補足
ごめんなさい。VB等やスクリプト等でできるのはわかるのですが、後々のサポートも面倒ですので、手間暇かけずにできる方法は無いかと質問しました。 「こんな方法がありますよ。このソフトでできますよ。」ぐらいで手放したいのです。
補足
>エクセルの印刷の手動操作をせずにという意味か。 こちらの意味です。 >1つの指定ブックだけ。沢山ブックは有るのか。 フォルダに入ったファイルだけです。ファイルに存在するシートは、入力値があるなしにかかわらず印刷です。 >監視して指定フォルダにファイルが追加されたら、質問の印刷処理を 監視して印刷するのは、Distllerで可能なんです。あとは、「ブック全体を印刷」がExcelの印刷機能なので、これを使用しない方法がないかと模索しています。 No.1の補足どおり、フリーか市販ソフトの組み合わせでできれば良いのですが。