PSPadをテキストエディターとして使用します。これにより、Alt+ Dを押してタイムスタンプを挿入できます。例:
2010-07-17 23:45:44
Googleスプレッドシートでこれを行う方法はありますか?
PSPadをテキストエディターとして使用します。これにより、Alt+ Dを押してタイムスタンプを挿入できます。例:
2010-07-17 23:45:44
Googleスプレッドシートでこれを行う方法はありますか?
回答:
AutoHotKeyを使用してこの機能を実行します。
AutoHotKeyは、Windowsスクリプトアプリケーションおよび言語です。
私が使用するコードは以下のとおりです。時間を挿入し、それがお好みであれば、スラッシュをハイフンに変更するのは簡単に変更できます。
+!d:: ;Shift-Alt-D: Insert current date
SendInput %A_DD%/%A_MM%/%A_YYYY%
return
Googleスプレッドシートでは、次のキーボードショートカットがサポートされています。
Ctrl+ Shift+ :は、時間を挿入するためのキーストロークです。
Ctrl+ ;は、日付を挿入するためのキーストロークです。
Ctrl+ Alt+ Shift+ :は、日付と時刻を挿入するためのキーストロークです。
詳細については、キーボードアクセラレータ、ニーモニック、およびショートカットを参照してください。
文字列リテラル「_now」を現在の日時に変換する小さなスクリプトを作成しました-
function onEdit(e) {
if (e.range.getValue() == "_now") {
e.range.setValue(new Date());
}
}
入力_now
して、現在の日時値に変換するのは非常に便利です。
これをGoogleスプレッドシートに追加する方法の詳細については、https://developers.google.com/apps-script/quickstart/macrosおよびhttps://developers.google.com/apps-script/understanding_eventsをご覧ください。
次の場所でブックマークレットを配置できます。
javascript:var thetime=new Date();var txtNode=document.createTextNode((thetime.getMonth()+1)+'/'+thetime.getDate()+'/'+thetime.getFullYear()+' '+thetime.getHours()+':'+thetime.getMinutes()+':'+thetime.getSeconds()); var myInputNode=document.getElementsByClassName('cell-input')[1]; if (myInputNode.hasChildNodes()) { myInputNode.replaceChild(txtNode, myInputNode.childNodes[0]); } else { myInputNode.appendChild(txtNode); }; void(0);
次に、セルを編集してブックマークレットをクリックします。
=today()
、セルに入力して現在の日付を取得します。このためのスクリプトも作成しましたが、デフォルトのタイムスタンプ(in =TODAY()
やなど=NOW()
)で使用できない形式が必要でした。
また、現在のセッション(シートの設定で設定)に基づいてタイムゾーンを取得します。
function _NOW(input)
{
// for formatting, see:
// https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
var timestamp_format = "yyyy-MM-dd hh:MM a"; // Timestamp Format eg: 2019-04-11 12:04 PM
var timezone = Session.getScriptTimeZone();
var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
return date;
}
使い方は簡単です。
=_NOW()
明確にするために、Googleスプレッドシートのカスタム日付フォーマットは燃えるごみの山であるため、手動で日付フォーマットを行いました(デフォルトとしてカスタムフォーマットを設定する方法、すべてを削除せずに日付/時刻要素の順序を変更する方法はありません)最初に、1つずつ追加します)。
タングアイ、私はこれをテストしました=IF(A2<>"",NOW(),"")
。A2に値がある場合、タイムスタンプが入力されます。A2が空の場合、タイムスタンプはタイムスタンプ列に入力されません。
=if(len(A2)>0;if(B2<>"";B2;now());"")
[設定]で、回路ソリューションを1に変更すると、JavaScriptがなくても機能します