Home » WSH・Windows Script Hostの使い方 » ExcelのN枚目のシートを選択するJScript

対象:WSH, Windows Script Host, JScript, Excel

アクセスログで見かけた
「wsh excel 3つ目シート選択」
という検索キーワードをキッカケに作った、ExcelブックでN枚目のシートを選択するVBScriptをご紹介しました。

[スポンサードリンク]

「wsh」ということですから、VBScriptではなく、JScriptを探していらした可能性も考えられます。

N枚目のシートを選択するサンプルスクリプト

以下のスクリプトを拡張子「.js」で保存して、Excelファイルをドラッグアンドドロップすると、3枚目のシートが選択され上書き保存されます。

// -- main begin ----
var NUM = 3;  // 選択したいシート番号

if ( WScript.Arguments.Count() === 0 ) {
  WScript.Echo(NUM + '枚目のシートを選択したいExcelファイルを、ドラッグ&ドロップしてください。');
  WScript.Quit();
}
var xls = new ActiveXObject('Excel.Application');
xls.Visible = false;
var fso = new ActiveXObject('Scripting.FileSystemObject');

for ( var i = 0; i < WScript.Arguments.Count(); i++ ) {
  var f_path = WScript.Arguments(i);

  switch( fso.GetExtensionName(f_path).toUpperCase() ) {
    case 'XLS':
    case 'XLSX':
    case 'XLSB':
    case 'XLSM':
      selectTheSheet(f_path);
      break;

    default:
      WScript.Echo(fso.GetFileName(f_path) + ' は、Excelファイルではありません。');
  }
}

fso = null;
xls.Quit();
xls = null;
WScript.Echo('スクリプトが終了しました。');
// -- main end ----


function selectTheSheet(fullpath) {
  var bk = xls.Workbooks.Open(fullpath);

  if ( bk.Sheets.Count >= NUM ) {
      if ( bk.Sheets(NUM).Visible ) {
          bk.Sheets(NUM).Select();
          bk.Save();
      }
  }

  bk.Close();
  bk = null;
  return;
}

サンプルスクリプトについて

基本構造は、ご紹介済みのVBScriptと同じです。

main部分では、ExcelとFileSystemObjectを用意して、
  var xls = new ActiveXObject('Excel.Application');
  xls.Visible = false;
  var fso = new ActiveXObject('Scripting.FileSystemObject');

ドラッグ&ドロップされたファイルを順番に処理しています。
  for ( var i = 0; i < WScript.Arguments.Count(); i++ ) {

シートの選択処理を行う関数では、ブックを開いて、
    var bk = xls.Workbooks.Open(fullpath);

指定された枚数以上にシートが存在していて、
    if ( bk.Sheets.Count >= NUM ) {

そのシートが非表示になっていなければ、
        if ( bk.Sheets(NUM).Visible ) {

選択して上書き保存を行っています。
            bk.Sheets(NUM).Select();
            bk.Save();

[スポンサードリンク]

Home » WSH・Windows Script Hostの使い方 » ExcelのN枚目のシートを選択するJScript

「WSH・Windows Script Hostの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.