はしくれエンジニアもどきのメモ

情報系技術・哲学・デザインなどの勉強メモ・備忘録です。

JScript でWordファイルをPDF, TXTに変換

JScript でWordファイルをPDF, TXTに変換

Windowsでデフォで動かせる JScript でWordファイルをPDF, TXTに変換 してみたのでメモ。

くじら飛行机さんの記事を参考。

pc.nikkeibp.co.jp

環境

変換する際のポイント

現在ディレクトリ(パス)の取得

現在ディレクトリ(パス)の取得は以下のコード。 "WScript.Shell" オブジェクトを生成して、 .CurrentDirectory プロパティで、 現在のディレクトリを取得する。


//  create shell object and get current directory.
var shell = new ActiveXObject('WScript.Shell');
var current_dir = shell.CurrentDirectory;

指定ディレクトリ内のファイル一覧の取得

指定ディレクトリ内のファイル一覧の取得は、 以下のコード。 'Scripting.FileSystemObject'オブジェクトを生成して、 .GetFolder("ディレクトリのパス") を指定して .Files プロパティでファイル一覧を取得できる。


var fs_obj = new ActiveXObject('Scripting.FileSystemObject');
//指定パスのファイル一覧を得る
var files = fs_obj.GetFolder(current_dir).Files;

Wordオブジェクトの生成、Wordでファイルを開く、保存

Wordファイルを開くには、まず'Word.Application'オブジェクトを生成する。.Visibleプロパティでは、 Wordのプログラムの起動を可視化させることができる。

Wordでファイルを開くには、 .Documents.Open('ファイル名');で開く。

保存するには、.SaveAs('出力ファイル名', format番号) pdf の場合、format番号は 17になる。 txt の場合は2 となる。


// create Word Object
var word_obj = new ActiveXObject('Word.Application');
word_obj.Visible = true;

doc = word_obj.Documents.Open(fname);
doc.SaveAs(fname_out, 17); // pdf 17

コード

WSH(JScript)でディレクトリにあるWrodファイルをpdf またはtxtファイルに変換する ...

実際に変換する場合のコマンド

コマンドプロンプト上で、以下のコマンド。 引数でpdf or txt に変換するかを指定する。

pdfに変換する場合


cd ディレクリ名
cscript convertWordTo.js pdf

txtに変換する場合


cd ディレクリ名
cscript convertWordTo.js txt