17

今日は、特にスプレッドシート用のGoogleAppsScriptsについて質問があります。ここですでにドキュメント(スプレッドシート内のシート上のドキュメント)を確認しましたが、探しているものを見つけることができませんでした。これがシッチです:

1.)セルがGoogleスプレッドシートで編集されると、私が持っている関数は関数を使用してメモを設定します(はい、cell.setComment()と表示されますが、実際にはメモが作成されます。一貫性を保ってくれてありがとう、Google!):

function onEdit() {
var doc = SpreadsheetApp.getActiveSpreadsheet();
var sheet = doc.getActiveSheet();
var cell = sheet.getActiveCell();
cell.setComment("Last modified: + (new Date()));
}

2.)メモはコメントに「置き換えられました」... 2012年9月5日?多分?代わりにそれらを使用したいと思います。

3.)両方のタイプの「セル表記」には、メモ/コメントを設定するための関数のみが存在し、追加はありません(ドキュメントによる)。

4.)メモ/コメントを設定する代わりに、新しいメモ/コメント(できればコメント、読みやすい)を追加する機能を備えた関数を参照または記述したいと思います。

5.)スプレッドシート自体のGUIから手動でメモ/コメントを追加できます(セルを右クリックして[メモの挿入]または[コメントの挿入]を選択します。これらの右クリック機能が存在するため、私たちはできると信じています。同じことを行うスクリプトを作成しますが、セルが編集されたときに自動的に呼び出されるようにします。

6.)この機能は、セルの改訂履歴を追跡するために使用されます。新しいスプレッドシートを作成して、その新しいスプレッドシートに改訂履歴を簡単に送信できることは知っていますが、追跡する必要のあるスプレッドシートが10個あることを考えると、履歴を追跡するために10個の新しいスプレッドシートは必要ありません。同じスプレッドシートに保存すると、作業が簡単になります。

誰かが私を助けることができれば、それは大いにありがたいです!

4

4 に答える 4

16

スプレッドシートサービスを介してコメントを操作する方法はありません。Issue36756650を参照してください。(必要に応じてスターを付けてください。)

代わりに、すべての「コメント」メソッドはNotesで機能します。

次のメソッドは、既存のタイムスタンプに新しい「変更された」タイムスタンプを追加します。残念ながら、実際のコメントほど見栄えは良くありません。

function onEdit() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  var cell = sheet.getActiveCell();
  var comments = cell.getComment();
  // Newline works in msgBox, but not in Note.
  comments = comments + "\\nModified: " + (new Date());
  //Browser.msgBox(comments);
  cell.setComment(comments);
}
于 2013-03-23T04:28:33.057 に答える
8

dic 2018の回答を更新しました:

現在、GoogleはRangeクラスでsetNote(String)およびsetNotes(Object [])メソッドをサポートしています。

getComment()メソッドとsetComment()メソッドはもう存在しません。

于 2018-12-04T18:58:38.910 に答える
6

GoogleAppsScriptでGoogleDriveAPIを使用すると、Googleドキュメントにコメントを作成できます。
また、テスト後、スプレッドシートでも実行できることを確認しました(コメントはドライブAPIにのみ依存しているため、これは正常です)。

function insertDriveComment(fileId, comment, context) {
  var driveComment = {
    content: comment,
    context: {
      type: 'text/html',
      value: context
    }
  };
  Drive.Comments.insert(driveComment, fileId);  
}

ドキュメントとスプレッドシートのコメントのアンカーは独自のものであるため、プログラムでコメントをセル(またはGoogleドキュメントの単語)に添付することはできません(ページ下部のビデオを確認してください。お

役に立てば幸いです。

于 2014-10-03T14:50:34.777 に答える
0

これで、setNote()とgetNote()を使用できます

var sheet = SpreadsheetApp.getActiveSpreadsheet();
 var cell = sheet.getActiveCell();
 var comments = cell.getNote();
 cell.setNote(comments);
于 2021-05-19T06:29:24.347 に答える