Tập lệnh thay đổi màu văn bản riêng trong một ô


10

Tôi có một bảng tính Google với hàng trăm tên nhân viên cho một lịch trình. Mỗi ô có nhiều tên trong ô đó trông như thế này:

First Last
First Last
First Last

First Last
First Last

Nhiều cái tên được mã hóa màu đỏ trong khi những cái khác vẫn màu đen. Tôi đang sử dụng tập lệnh để xóa các dòng mới bổ sung để thu gọn tên thành cái này (nhiều trong số chúng bị xóa bằng cách sử dụng find / thay thế cho những thứ như ngày nghỉ, dẫn đến dòng mới trống):

First Last
First Last
First Last
First Last
First Last

Vấn đề là, khi kịch bản này được chạy, các tên màu đỏ đã thay đổi phông chữ thành màu đen. Tôi không thể tìm ra cách viết một vòng lặp for để biến các dòng riêng lẻ này trong ô trở lại màu đỏ. Tôi kết thúc với tất cả các văn bản trong ô có màu đỏ hoặc mã HTML cho biết nó phải có màu đỏ.

Bất kỳ ý tưởng về làm thế nào tôi có thể làm cho công việc này?


2
Định dạng một phần nội dung ô là một bổ sung gần đây cho Google Sheets và nó không thực sự được tích hợp với phần còn lại của logic bảng tính. Cụ thể, các công thức và tập lệnh không nhận thức được định dạng như vậy và không thể áp dụng nó. Đầu ra của chúng không mang bất kỳ định dạng nào như vậy với nó.

Câu trả lời:


2

Tại thời điểm này, chỉ có hai loại thuộc tính phạm vi để xử lý nội dung của nó: giá trị và công thức. Thật không may thay đổi nội dung ô bằng cách sử dụng chúng sẽ loại bỏ định dạng được áp dụng cho các phần của nội dung.

Trong trường hợp như thế này, người dùng có thể xem Trình theo dõi sự cố tập lệnh của Google Apps để tìm kiếm yêu cầu tính năng và trong trường hợp không có ai gửi. Nếu một yêu cầu tính năng đã tồn tại cho tính năng mà bạn đang tìm kiếm, hãy gắn dấu sao đó là số người đánh dấu yêu cầu tính năng được nhóm Google Apps Script xem xét để ưu tiên cho họ.

Vui lòng gắn dấu sao yêu cầu tính năng sau

Vấn đề 6000: Xử lý các phần của nội dung tế bào theo chương trình


2

CẬP NHẬT: Các phương pháp được đề cập trong bài đăng này hiện được bao gồm trong ghi chú phát hành ngày 22 tháng 1 năm 2019

Ai đó tìm thấy các phương pháp không có giấy tờ và các ví dụ được chia sẻ có liên quan cho câu hỏi này.

Từ nhận xét 21 đến Xử lý các phần của nội dung ô được lập trình đề cập đến câu trả lời trước của tôi .

Bạn cũng có thể lấy định dạng hiện tại của một ô trong đó các phần khác nhau của văn bản của ô có các kiểu khác nhau:

  var richText = ss.getCurrentCell().getRichTextValue();
  var runs = richText.getRuns();
  for (var i=0; i<runs.length; i++)
  {
    // get the style of this section of text, between startIndex and endIndex
    var run = runs[i];
    var startIndex = run.getStartIndex();
    var endIndex = run.getEndIndex();
    var styleBold = run.getTextStyle().isBold();
  }

Có lẽ các phương pháp mới sẽ được công bố trong tuần này đầu tiên trên Google Cloud Next 18 San Francisco sau đó trên Blog của Google Developers.

Liên quan

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.