プリント2



以下のようにするとできるようですが
JScriptのActiveXObjectを使うのでIEのみで動きます。
それ以外のブラウザではエラー回避していますので
エラーとはなりませんが動きません。


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>印刷プレビュー</title>
<script>
function PrintPreview()
{
if(window.ActiveXObject == null || document.body.insertAdjacentHTML == null) return;
var sWebBrowserCode = <object width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object> ;
document.body.insertAdjacentHTML( beforeEnd sWebBrowserCode);
var objWebBrowser = document.body.lastChild;
if(objWebBrowser == null) return;
objWebBrowser.ExecWB(7 1);
document.body.removeChild(objWebBrowser);
}
</script>
</head>
<body>
<form name="form">
<input type="button" value="PrintPreview" onclick="PrintPreview();">
</form>
</body>
</html>


IEだったら以下のようにすれば一応できると思うけど・・
<script type="text/javascript">
<!--
function showPreview(){
var objWsh = new ActiveXObject("WScript.Shell");
objWsh.SendKeys("%FV");
}
//-->
</script>

<input type="button" value="印刷プレビューボタン" onclick="showPreview()">
この回答へのお礼

つくってみました。
IEでは動きましたが情報バーが出るのは構わないとしてもセキュリティーソフト(ノートン等)に「悪質なスプリクト」と警告が出るものはちょっと拙いのでこれ以外に方法はないものなのでしょうか?
やはりネスケもIEも(バージョンは最新でかまわないのですが)対応で印刷プレビューボタンは無理なのでしょうか?
スプリクトを忘れていたのでこう書ける方法として参考になりました。ありがとうございます。