Chuyển tiêu đề Google Doc
تم الإنشاء في: ٨ يناير ٢٠٢٥
تم الإنشاء في: ٨ يناير ٢٠٢٥
Transforming document headings
I’m working on a Google Apps Script to read Google Doc URLs from Google Sheets, convert headings h2, h3, and h4 to lowercase while keeping 'CF68' uppercase, and place the modified text back in the sheet.
Transforming headings
I’m detailing the process of altering heading text to lowercase, except for 'CF68', which remains uppercase. For instance, "Hôm nay trời đẹp" becomes "Hôm nay trời đẹp Cf68".
Laying out steps
I'm transforming text to lowercase, replacing 'cf68' with 'CF68', and capitalizing the first letter of each heading. This approach ensures clarity and maintains 'cf68' uppercase.
Refining details
I'm detailing the Google Apps Script to open each Google Doc, check for headings h2, h3, and h4, and transform their text to lowercase with 'cf68' in uppercase.
Finalizing the script
I’m crafting a detailed Google Apps Script, ensuring it meets the user's specifications for transforming and updating Google Docs from Google Sheets, considering the request for explicit functionality and potential custom menus.
Transforming headings
I’m detailing a script to open Google Docs from Google Sheets, check headings h2, h3, and h4, and convert them to a "viết thường, chữ đầu câu, trừ 'CF68' keep uppercase" format.
Addressing ambiguities
I’m considering the impact if headings are multiple sentences or series of 'cf68'. The goal is to transform each heading to lowercase while keeping 'CF68' uppercase.
Thought about Google Sheets script for URLs cho 25 giây
Dưới đây là ví dụ mã Google Apps Script (JavaScript chạy trên Google Sheets) để thực hiện yêu cầu:
"CF68"
nếu có thì vẫn giữ nguyên dạng viết hoa.Lưu ý: Để chạy được đoạn mã này, bạn mở Google Sheets, vào Extensions > Apps Script, dán mã vào, lưu lại, sau đó gọi hàm
chuyenTieuDe()
trong môi trường Apps Script.
/** * Hàm chính để duyệt qua cột A của sheet "URL", * mở từng Google Doc, và xử lý lại các tiêu đề H2, H3, H4. */ function chuyenTieuDe() { // Mở spreadsheet hiện tại var ss = SpreadsheetApp.getActiveSpreadsheet(); // Lấy sheet tên "URL" var sheet = ss.getSheetByName("URL"); // Xác định số dòng cuối cùng có dữ liệu var lastRow = sheet.getLastRow(); // Giả định rằng danh sách URL bắt đầu từ hàng 2 (hàng 1 là tiêu đề cột) for (var row = 2; row <= lastRow; row++) { // Lấy URL từ cột A var docUrl = sheet.getRange(row, 1).getValue(); // Bỏ qua nếu ô trống if (!docUrl) continue; // Mở Doc theo URL var doc = DocumentApp.openByUrl(docUrl); var body = doc.getBody(); var numChildren = body.getNumChildren(); // Duyệt qua tất cả các phần tử trong body for (var i = 0; i < numChildren; i++) { var child = body.getChild(i); // Kiểm tra nếu phần tử là 1 đoạn (Paragraph) if (child.getType() === DocumentApp.ElementType.PARAGRAPH) { var paragraph = child.asParagraph(); // Lấy kiểu heading var heading = paragraph.getHeading(); // Chỉ xử lý nếu là heading 2, 3 hoặc 4 if ( heading === DocumentApp.ParagraphHeading.HEADING2 || heading === DocumentApp.ParagraphHeading.HEADING3 || heading === DocumentApp.ParagraphHeading.HEADING4 ) { // Lấy nội dung text của heading var originalText = paragraph.getText(); // Chuyển đổi theo quy tắc yêu cầu var convertedText = chuyenTieuDeH234(originalText); // Cập nhật lại đoạn text paragraph.setText(convertedText); } } } // Lưu và đóng Doc doc.saveAndClose(); } } /** * Hàm chuyển nội dung tiêu đề h2, h3, h4 sang dạng: * - Tất cả chữ thường * - Chữ cái đầu (của cả heading) được viết hoa * - Từ "CF68" nếu xuất hiện thì giữ nguyên viết hoa */ function chuyenTieuDeH234(text) { // Tránh lỗi nếu text rỗng if (!text) return ""; // Đưa toàn bộ về chữ thường var lowerText = text.toLowerCase(); // Giữ nguyên "CF68" nếu có // (tức là mọi chuỗi "cf68" trong văn bản sẽ được chuyển thành "CF68") lowerText = lowerText.replace(/cf68/g, "CF68"); // Viết hoa chữ cái đầu của toàn bộ heading // (coi heading là 1 câu duy nhất) if (lowerText.length > 0) { lowerText = lowerText.charAt(0).toUpperCase() + lowerText.slice(1); } return lowerText; }
Thêm Script vào Google Sheets
Chạy hàm
chuyenTieuDe
từ menu thả xuống trong trình chỉnh sửa Apps Script.Kiểm tra kết quả
Chúc bạn thành công!
Transforming Google Docs
I’m crafting a script for Google Sheets, which reads URLs in column A of the "URL" sheet. Each Google Doc is edited to bold all H2 and H1 headings, and the first letter of each word in H1 headings is capitalized.
Confirming the function
I’m specifying a function for the script: it reads doc URLs, bolds H1 and H2 headings, and capitalizes the first letter of each word for H1 headings while keeping other letters lowercase.
Refining the function
I’m thinking through a function to capitalize the first letter of each word. It’s achieved by splitting the string, capitalizing the first character of each word, and rejoining them.
Thought about Google Sheets script for headlines cho 30 giây
Dưới đây là một ví dụ mã Google Apps Script (JavaScript chạy trên Google Sheets) đáp ứng yêu cầu:
Lưu ý: Để chạy được đoạn mã này, bạn mở Google Sheets, vào Extensions > Apps Script, dán mã vào, lưu lại, sau đó gọi hàm
inDamH1H2()
trong môi trường Apps Script.
/** * Hàm chính để duyệt qua cột A của sheet "URL", * mở từng Google Doc, và xử lý tiêu đề H1, H2: * - In đậm tiêu đề H1, H2 * - H1 thì viết hoa chữ cái đầu mỗi từ */ function inDamH1H2() { // Mở spreadsheet hiện tại var ss = SpreadsheetApp.getActiveSpreadsheet(); // Lấy sheet tên "URL" var sheet = ss.getSheetByName("URL"); // Xác định số dòng cuối cùng có dữ liệu var lastRow = sheet.getLastRow(); // Giả định danh sách URL bắt đầu từ hàng 2 (hàng 1 là tiêu đề cột) for (var row = 2; row <= lastRow; row++) { // Lấy URL từ cột A var docUrl = sheet.getRange(row, 1).getValue(); // Bỏ qua nếu ô trống if (!docUrl) continue; // Mở Doc theo URL var doc = DocumentApp.openByUrl(docUrl); var body = doc.getBody(); var numChildren = body.getNumChildren(); // Duyệt qua tất cả các phần tử trong body for (var i = 0; i < numChildren; i++) { var child = body.getChild(i); // Kiểm tra nếu phần tử là Paragraph if (child.getType() === DocumentApp.ElementType.PARAGRAPH) { var paragraph = child.asParagraph(); // Lấy kiểu heading var heading = paragraph.getHeading(); // Nếu là H1 hoặc H2 thì in đậm if ( heading === DocumentApp.ParagraphHeading.HEADING1 || heading === DocumentApp.ParagraphHeading.HEADING2 ) { // Lấy đối tượng Text để chỉnh sửa var textRange = paragraph.editAsText(); // H1: Viết hoa chữ cái đầu mỗi từ + in đậm if (heading === DocumentApp.ParagraphHeading.HEADING1) { var originalText = textRange.getText(); var newText = capitalizeFirstLetterOfEachWord(originalText); textRange.setText(newText); textRange.setBold(true); } // H2: chỉ in đậm, giữ nguyên nội dung else if (heading === DocumentApp.ParagraphHeading.HEADING2) { textRange.setBold(true); } } } } // Lưu và đóng Doc doc.saveAndClose(); } } /** * Hàm viết hoa chữ cái đầu mỗi từ trong 1 chuỗi. * VD: "chào bạn" => "Chào Bạn" */ function capitalizeFirstLetterOfEachWord(str) { if (!str) return ""; // Tách các từ, viết hoa ký tự đầu mỗi từ return str .split(" ") .map(function(word) { if (word.length > 0) { return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); } return word; }) .join(" "); }
Thêm Script vào Google Sheets
Chạy hàm
inDamH1H2
từ menu thả xuống trong trình chỉnh sửa Apps Script.Kiểm tra kết quả
Chúc bạn thành công!