• ベストアンサー

エクセルシートをPDFファイルにする方法(マクロで)

表題のとおりですけと、エクセルのシートをマクロをつかって、PDFファイルを作成するような、都合のいい方法はありませんか?

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 簡単な方法は、#1 さんのおっしゃるクロセPDF(私はこちらが良いと思います)をインストールして、ドライバーを常駐させて、 Sub PdfMaking() 'クロセPDF ドライバーを使った方法   Dim PresentPrinter As String   PresentPrinter = Application.ActivePrinter   Application.ActivePrinter = "クセロPDF on C:\クセロPDF\Xelo PDF Port"   ActiveSheet.PrintOut   Application.Wait Now + TimeValue("00:00:03")   CreateObject("Wscript.Shell").SendKeys "%S"   Application.ActivePrinter = PresentPrinter End Sub このようにすれば、少し保存するのに時間は掛かるけれども、最後まで自動的に作ることが出来ます。マクロは、試してあります。ただし、クロセPDF のインストール先は、確かめておいてください。場合によっては、一度、記録マクロを作ったほうがよいでしょうね。 後は、どうも、マクロで行う時は、クロセPDFのプロパティは、上書きモードにしたほうが良いようです。出力先は、お好きな場所に決めて設定しておいてください。 Adobe のDistiller を使うのもありますが、考え方自体は同じです。  

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>マクロをつかって、PDFファイルを作成 マクロというのは、エクセルのVBAだと思いますが、エクセルVBAはエクセル(だけ、ここが肝心)の機能(後に追加した機能は除く)をコードで操作する仕組みです。 PDFファイル(ADOBE社の提唱分)を作るという機能はエクセルにはない。ADOBE社のソフトをセットアップすると、メニューに追加されるようだが、 そのメニュを選択する(クリックすることを模擬する)ようなプログラムを作る方法までしか利用出きない。 PDFファイルの普及とともに、MS社は将来のエクセルなどのバージョンでADOBE社の了解(?)をえて、PDFファイルで保存のサブメニューを作るぐらいなら、あり得るかもしれない。 PDFソフトのプログラムの名前(ファイル名を指定して実行のファイル名)も、関係のプロ以外は判らない。 またPDFソフトへの、引数の受け入れ方法や、メソッドやプロパティ(応答する手操作に当たるもの)に当たるものも、ADOBE社(PDFファイル形式の著作権を持っている?)が、VBAに当たるものを構築し、公表提供する見込みはないと思う(敵に塩を送る)以上見込みはない。 時々MS社以外の市販ソフトの名をあげて、VBAプログラムの中から呼び出し、本来は手操作出するものを、VBAプログラムで自動処理したいという質問を 見かけるが、上記事情から、これは不可能です。MS社はOFFICEという自社製品内で、その仕組みを作り、公表しているから、その恩恵で、VBAの利用ということできるのであって、質問のようなことができるのは、理想であっても、他社にまたがると、今後も実現しない課題でしょう。 よくMS社のOFFICE製品の利用経験から、パソコンに入るためと思われるが、そこで実現している機能が、素人にもたやすいことと思っている方が多いようだが 何げなく使っている機能も、精緻な構想(MS社限りである場合も多いとしても)と膨大なプログラムコーディングに支えられていることが見えてない人が多いように思う。 小生は「そう簡単なことや、おまへんで」、と感じています。

noname#187541
noname#187541
回答No.1

こんばんは。 PDF化は、専用のソフトを使わないと出来ないと思います。 専用のソフトをインストールすれば、プリンタが新たに追加され、印刷時にそのプリンタを指定することによってPDF化出来ます。 専用ソフトはフリーでも有るので、専用ソフトを使って行うのがいいでしょう。 フリーだと「クセロPDF」がいいでしょう。

参考URL:
http://www.vector.co.jp/soft/winnt/writing/se339554.html

関連するQ&A