MS Wordファイルを読み込み検索する
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title> MS Wordファイルを読み込み検索する</title>
<link rel="stylesheet" href="main.css" type="text/css">
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript"><!--
function mswordSearch()
{
$("result").innerHTML = ""; // 表示内容を消去
var sURL = "list.rb?dirName=worddata&cache="+(new Date()).getTime();
new Ajax.Request(sURL, { method: "get", onComplete: getList });
$("searchBtn").disabled = true; // ボタンをクリックできないようにする
}
function getList(httpObj)
{
$("searchBtn").disabled = false; // ボタンをクリックできるようにする
var LF = String.fromCharCode(10); // 改行コード
var txt = httpObj.responseText;
fileList = txt.split(LF); // 改行単位で分割
fileList.pop(); // 最後の不要な改行を削除
count = 0; // カウンタリセット
loadXMLFile();
}
function loadXMLFile()
{
new Ajax.Request(fileList[count], { method: "get", onComplete: displayData });
}
function displayData(httpObj)
{
var findTagName = "t";
if (window.createPopup) findTagName = "w:t";
var xmlObj = httpObj.responseXML;
var txt = "";
var wtTag = xmlObj.getElementsByTagName(findTagName);
for (var i=0; i<wtTag.length; i++)
{
txt += wtTag[i].firstChild.nodeValue;
}
// 検索処理
var word =$F("searchWord");
var data = txt.match(word);
$("result").innerHTML += "<span class='filename'>"+fileList[count]+"</span><br>";
if (data != null)
{
repData = new RegExp(word,"g");
txt = txt.replace(repData,"<span>"+word+"</span>");
$("result").innerHTML += txt + "<hr>";
}else{
$("result").innerHTML += "該当する文字はありませんでした<hr>";
}
count++;
if (count < fileList.length) loadXMLFile();
}
// --></script>
</head>
<body>
<h1>MS Wordファイルを読み込み検索する</h1>
<form onSubmit="mswordSearch();return false">
<input type="text" value="ワード" id="searchWord">
<input type="button" value="検索する" onClick="mswordSearch()" id="searchBtn"><br>
</form>
<div id="result"></div>
</body>
</html>
説明などは本書を参考にしてください。