Greasy Fork is available in English.

Google Sheets Unescape when Copying Text

GoogleスプレッドシートでコピーするテキストにつくHTMLコメントを削除したり、改行を含むセルをコピーするテキストにつくダブルクォーテーションをアンエスケープする。

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
// ==UserScript==
// @name         Google Sheets Unescape when Copying Text
// @description  GoogleスプレッドシートでコピーするテキストにつくHTMLコメントを削除したり、改行を含むセルをコピーするテキストにつくダブルクォーテーションをアンエスケープする。
// @namespace    https://github.com/pingval/
// @version      0.01
// @author       pingval
// @grant        none
// @match        https://docs.google.com/spreadsheets/*
// @license      CC0
// ==/UserScript==

(function() {
    document.addEventListener('copy', function(e) {
        const text_plain = function() {
            const from = (e.clipboardData || window.clipboardData).getData('text/plain');
            //  改行を含まないなら何もしない
            if (!from.includes("\n")) {
                return;
            }
            // ダブルクォーテーションをアンエスケープ
            const to = from.replaceAll(/^"|"$/g, '').replaceAll(/""/g, '"');
            if (from != to) {
                console.log(from + "\n=>\n"+ to);
                (e.clipboardData || window.clipboardData).setData("text/plain", to);
            }
        };

        const text_html = function() {
            const from = (e.clipboardData || window.clipboardData).getData('text/html');
            // HTMLコメントを削除
            const to = from.replaceAll(/<!--.*?\bmso-data-placement\b.*?-->/, '');
            if (from != to) {
                console.log(from + "\n=>\n" + to);
                (e.clipboardData || window.clipboardData).setData("text/html", to);
            }
        };
        text_plain();
        text_html();
    });
})();