- ベストアンサー
同一フォルダ下にある複数エクセルファイルをPDFに
- 100個のxlsxファイルをそれぞれ1シートしか持たない状態で、同じフォルダに保存されています。これらのエクセルファイルをPDFに一括変換したいです。
- WSH/JScriptのスクリプトファイル(拡張子.jse)が公開されており、ドラッグ&ドロップを用いてエクセルファイルをPDFに変換できますが、コマンドで一括変換する方法を知りたいです。
- 具体的には、複数のxlsxファイルが保存されたフォルダ(例:c: emp)を指定して、コマンドを実行すると、フォルダ内のxlsxファイルが順番にPDFに変換されるような方法を探しています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
2行目に if "%~1"=="" ( echo no folder name exit /b ) ・・・とでも、入れておいて下さい。 第一引数のフォルダ名の有無のチェック。
その他の回答 (2)
- UY-Scuti
- ベストアンサー率85% (18/21)
以下をバッチファイルとして保存。 バッチファイルから、参考のJScriptファイル(改) を実行しています。 エクセルは非表示で実行しています。表示させると重い。 <例> バッチファイル名が ok.bat、エクセルファイルがあるフォルダが c:\temp なら、(拡張子は、xlsxが対象。) ok c:\temp --------------------------------------------------- @if(0)==(0) echo off cscript //nologo /E:JScript "%~f0" %1 echo Converted to PDF exit /b @end var fs = new ActiveXObject( "Scripting.FileSystemObject" ); var folderPath = fs.GetFile(WScript.ScriptFullName).ParentFolder var excel = WScript.CreateObject("Excel.Application"); excel.Visible = false; var folder = fs.GetFolder( WScript.Arguments(0) ); var em = new Enumerator( folder.Files ); for( em.moveFirst(); !em.atEnd(); em.moveNext() ) { if(fs.GetExtensionName(em.item()) == "xlsx") { exportPDF( em.item().Path ); } } excel.Quit(); fs = null; function exportPDF(fname) { var fileName = fs.GetBaseName(fname); var output = folderPath + '/' + fileName; var book = excel.Workbooks.Open(fname); book.ExportAsFixedFormat(0,output ,0,true,false); book.Close(); }
- imogasi
- ベストアンサー率27% (4737/17070)
下記のどれかスクリプトなどを、1から勉強するには、こんな質問コーナーは適当でないだろう。 質問者の勉強が生噛りのように見えて、どういうツールでやりたいか(なら質問者で、できるか)はっきりしない。 ーー 100ファイル以上を対象にするとなると、人間の操作ではなく,プログラム(Scriptを含む)を使うことを前提に質問ているのかな。コマンドラインなどからのスクリプト操作だけか? ーー 小生もWEBを調べる程度で生噛りだが、 または、コマンドライン(例ウインドウズのCmd.exeの画面)にコマンドを打ち込むようなことを考えているのかな。 繰り返し処理が書けることが前提になるだろう。(ForEachのような) (シェルスクリプト Unix系かWin系か) Wsctipt VBscript(For Eachが使える) PowerShell(ForEach-Objectコマンドレットが使える) (汎用的なスクリプト言語) Javascript Python VBA(Office限定) PHP Ruby ーーー エクセルVBAを使う人なら、VBscriptの「FSO」を使う人が多いのかなと思う。 ーー 拡張子(例.pdf)を指定するだけで,そのファイル形式を作成してくれるものと、 所定の変換プログラムを指定しなければならないのと、あるとおもう。 PDFは有名になって使う人が増えて、エクセル関連では、前者のようになっているようだが、 よく調べるべきと思う。(ヴァージョンなどによってなど) PDF化する目的は何か。 ーー Googleで「vbscript pdf」で照会すれば、相当数の記事が出る。やって見て質問したら。 又はGoogleで「FSO フォルダ ファイル」「vbscript pdf」で質問してみるとか。 ーー https://excel.syogyoumujou.com/vba/conv_pdf.html PDFファイルに一括変換 などあるが。
お礼
ありがとうございます。 本件、いくつかのサイトで似たような問い合わせをしたのですが、どこよりもシンプルで、かつ理想通りの動きをするバッチファイルで感動しました。 このバッチファイル、大事にします。