印刷プレビューリンクの設置について

お世話になっております。

タイトルの件について、カスタムビューに【印刷】というリンクを設置して、

クリック時に印刷プレビューを表示したいと考えております。

現在下記のように設定したのですが、動作しませんでした。

また、できればedge、IE11、firefox、chrome、safariのブラウザで動作させたいと

思っているのですが、可能でしょうか?

※各ブラウザで動作不可の場合は、IE11で設置したいです。

どなたかご存知の方がいらしたら、ご教授いただければ幸いでございます。

*----------------------------------------------------------------------*

【js】

(function() {
“use strict”;
kintone.events.on(‘app.record.index.show’, function(event) {
if (event.viewName !== ‘カスタマイズビュー’) {
return;
}
function showPreview(){
var objWsh = new ActiveXObject(“WScript.Shell”);
objWsh.SendKeys(“%FV”);
}
});
})();

*----------------------------------------------------------------------*

【html】

<p><a href=“javascript:void(0)” onclick=“showPreview()”>印刷</a></p>

*----------------------------------------------------------------------*

 

こちらに書かれているコードを試してみたところ動きました。しかしIEではActiveXフィルターを無効にしないと動きません。ご参考まで。
https://teratail.com/questions/10474

ダン吉 様

ご返信ありがとうございます。

ご案内いただいた、URLより下記のように設置したのですが、

うまく動作しませんでした。

コードに間違い等はありますでしょうか?

度々お手数ではございますが、ご教授いただければ幸いでございます。

*----------------------------------------------------------------------*

【js】

(function () {
    kintone.events.on(‘app.record.index.show’, function(e) {
        if (e.viewName != ‘カスタマイズビュー’) return;

        function printPreview(){
            if(!window.ActiveXObject && !document.documentMode || document.body.insertAdjacentHTML == null){
                window.print();
                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 ) ;
        }
    });
})();

*----------------------------------------------------------------------*

【html】

<p><a href=“javascript:void(0)” class=“button” onclick=“printPreview()”>印刷</a></p>

*----------------------------------------------------------------------*

すみません、要件を見落としていました。カスタマイズビューで実現されたいのですね。

エラーがわかりませんがおそらくprintPreviewが見つからない状態かと思います。

カスタマイズビューでなく、一覧にボタンを設置してその中にprintPreview()の内容を書くのはNGでしょうか?

参考 https://cybozudev.zendesk.com/hc/ja/articles/201767270

ダン吉 様

ご返信ありがとうございます。

また、返信が遅くなり申し訳ございません。

一覧・カスタマイズニューともに検証してみましたが、

ご教授いただいたURL先のページのコメントに書いてあったように

ActiveXObject実行がブラウザのセキュリティーにひっかかり動作しませんでした。

他にも方法がないか模索してみます。

ありがとうございました。

 

 

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。