JScript

あくまで簡易に作成することが目的なので, 多くの状況に対応するわけではない.
//引数
var infilepath = WScript.Arguments(0);
var outfilepath = WScript.Arguments(1);

//スクリプトのパス
var scriptPath = String(WScript.ScriptFullName).replace(WScript.ScriptName, "");

//ファイルシステム
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");

//パス結合
infilepath = fileSystem.BuildPath(scriptPath, infilepath);

//Excel操作
var excelObj = new ActiveXObject("Excel.Application");
excelObj.Workbooks.Open(infilepath);

var workBook = excelObj.Workbooks(1); //indexは1から
var workSheet = workBook.WorkSheets(1); //indexは1から
var rangeBuffer = workSheet.Range("A2:A2"); //範囲選択

//ファイル入出力
var ReadOnly = 1;
var WriteOnly = 2;
var Append = 8;
var file = fileSystem.OpenTextFile(outfilepath, WriteOnly, true);

var strValue;
for(var i=1; i<2; ++i){
    strValue = (typeof(rangeBuffer(i,1).value) == "undefined")? "1.0" : rangeBuffer(i,1).value;
    file.WriteLine(strValue + ",");
}


WScript.echo("Success (" + outfilepath + ")");
excelObj.quit();

//UTF-8
var adTypeBinary = 1;
var adTypeText = 2;

var adReadAll = -1;
var adReadLine = -2;

var adWriteChar = 0;
var adWriteLine = 1;

var adSaveCreateNoExist = 1;
var adSaveCreateOverWrite = 2;

var stream = new ActiveXObject("ADODB.Stream");
stream.Type = adTypeText;
stream.charset = "utf-8";
stream.Open();
stream.WriteText("Hoge", adWriteLine);
stream.SaveToFile(outfilepath, adSaveCreateOverWrite);
stream.Close();

WSF

JScriptファイルをインクルードしたい場合に使える.
Windowsスクリプトファイル(.wsf)を使用する
WSHリファレンス>XML要素

1 件のコメント: