الرموز التعبيرية في جداول بيانات Google

يمكن أن تكون الرموز التعبيرية وسيلة ممتعة وفعالة لإضافة اهتمام مرئي إلى صيغ جداول بيانات Google. هناك العديد من الطرق المختلفة لإضافة الرموز التعبيرية في جداول بيانات Google ولكن الخيار المفضل لدي هو الخيار المدمج CHAR
وظيفة.
يمكنك نسخ الرمز السداسي لأي رمز تعبيري من unicode.org ثم استخدام HEX2DEC
دالة لتحويل القيمة السداسية العشرية إلى معادلها العشري. ستأخذ الدالة CHAR هذا الرقم العشري كمدخل وترجع رمز الرموز التعبيرية المقابل.
// Add the 😀 emoji to the active cell
=CHAR(HEX2DEC("1F600"))
// Get the hex value of 😀 emoji
=DEC2HEX(UNICODE("😀"))
حسنًا، الغرض من هذا الدليل ليس شرح كيفية إضافة الرموز التعبيرية في جداول بيانات Google، بل شرح المشكلات التي قد تسببها الرموز التعبيرية في سير عمل الإنتاج المتعلق بجداول بيانات Google.
مشكلة الرموز التعبيرية في جداول بيانات Google
إذا كنت تريد تحويل أي ورقة من Google Sheet إلى ملف PDF برمجيًا، فيمكن أن يساعدك Apps Script. ومع ذلك، إذا كان جدول Google الخاص بك يحتوي على أي رموز تعبيرية، فسيفشل محرك تحويل PDF مع وجود خطأ 500. تنشأ هذه المشكلة بسبب خطأ معروف (راجع أداة تعقب المشكلات) في Google ولم يتم التوصل إلى أي حل حتى الآن.
استبدال الرموز التعبيرية في جداول بيانات Google
تستخدم وظائف Google الإضافية مثل Email Google Sheets وDocument Studio داخليًا محرك التحويل الخاص بـ Google Drive لتحويل جداول البيانات إلى ملفات PDF. تحتوي ورقة الإدخال على أي رمز تعبيري، وسيفشل تحويل PDF دائمًا بسبب الخطأ.
الحل الوحيد لهذه المشكلة هو التحقق من ملف جدول البيانات الخاص بك بحثًا عن أي رموز تعبيرية وإزالتها قبل إجراء تحويل PDF.
/*
* Replace Emoji Symbols in Google Spreadsheet
* Written by Amit Agarwal www.labnol.org
*/
const replaceEmojisInGoogleSheet = () => {
SpreadsheetApp.getActiveSpreadsheet()
.getSheets()
.filter((sheet) => sheet.getType() === SpreadsheetApp.SheetType.GRID)
.filter((sheet) => sheet.isSheetHidden() === false)
.forEach((sheet) => {
sheet
.getDataRange()
.getValues()
.forEach((row, rowIndex) => {
row.forEach((cell, colIndex) => {
if (typeof cell === 'string' && /\p{Emoji_Presentation}/u.test(cell)) {
sheet.getRange(rowIndex + 1, colIndex + 1).setValue(cell.replace(/\p{Emoji_Presentation}/gu, ' ').trim());
}
});
});
});
SpreadsheetApp.flush();
};
سيقوم برنامج Google Script الآن بفحص الورقة بأكملها، واكتشاف أي خلايا تحتوي على رموز تعبيرية، واستبدال تلك الرموز التعبيرية بمسافات. بعد تشغيل البرنامج النصي، يمكنك تحويل ورقتك بأمان إلى ملف PDF دون مواجهة الخطأ 500 الناجم عن رموز الرموز التعبيرية.
ال \p{Emoji_Presentation}
يتطابق النمط في التعبير العادي مع الأحرف التعبيرية. العلامة g مخصصة للبحث الشامل (لاستبدال جميع الأحداث) والعلامة u مخصصة لوضع Unicode (للتعامل مع أحرف الرموز التعبيرية بشكل صحيح).