AOK's JavaScript Library
WSH5.7 (WinXP) で動作確認しています。
Last Update: Jul.23,2009

Microsoft Excel でセル内容を元にリンクを張る
<?xml version="1.0" encoding="shift_jis" ?>
<job>
<script language="JScript">
<![CDATA[
/* ---------------------------------------

    エクセルでセルの内容を元にリンクを張る

    Copyright (c) 2003, 2009 AOK.

      2003/05/01  初版
      2003/05/02  エラー処理追加
      2009/07/23  JavaScript 版

  --------------------------------------- */
/* 処理したいものに合わせて変更してね */
var target_col = 1;
var start_row = 1;
var max_rows = 1000;

/* ファイルダイアログを作成 */
var dlg = new ActiveXObject('MSComDlg.CommonDialog');

/* 変換元をファイルダイアログから選択 */
dlg.MaxFileSize = 260;
dlg.InitDir = '.';
dlg.Filter = 'Excell Workbook File (*.xls)|*.xls|All Files (*.*)|*.*';
dlg.CancelError = true;
try {
  dlg.ShowOpen();
} catch(e) {
  WScript.Echo(e.description);
  WScript.Quit();
}

/* エクセルの起動 */
var excel = new ActiveXObject('Excel.Application');

/* 表示しない方がやや処理がはやい */
excel.Visible = false;

/* ワークブックの読み込み */
var workbook = excel.Workbooks.Open(dlg.Filename);
var worksheet = workbook.Worksheets('sheet1');
for (var i = start_row; i <= max_rows; i++) {
  tip = worksheet.Cells(i, target_col).Value;
  if (tip && tip.length > 0) {
    var url = tip + '.pdf';
    worksheet.Hyperlinks.Add(worksheet.Cells(i, target_col), url);
  }
}

/* ワークブック保存とクローズ */
try {
  dlg.ShowSave();
} catch(e) {
  workbook.Close(false);
  excel.Quit();
  WScript.Echo(e.description);
  WScript.Quit();
}
workbook.SaveAs(dlg.Filename);
workbook.Close();

/* エクセル終了 */
excel.Quit();
]]>
</script>
</job>

戻る Copyright (c) 2009 AOK. All Rights Reserved.