مرفقات Gmail إلى Driveالتطوير والتخصيص

سكربت Google Apps Script يحفظ المرفقات من Gmail الخاص بك في مجلدات Google Drive حسب المرسل أو التاريخ أو النوع

جاهز عادةً خلال 15 دقيقةالتعديلات مشمولةفحص الجودة
الباقات
حماية الدفعالتفاصيل
  • التعديلات ضمن الباقة مجانية.
  • إذا لم تردّ خلال 3 أيام من التسليم، يُقبل العمل تلقائيًا.

يُحجز المبلغ عند الدفع ولا يُحوَّل إلا بعد قبولك العمل.

سكربت Google Apps Script يحفظ المرفقات من Gmail الخاص بك في مجلدات Google Drive حسب المرسل أو التاريخ أو النوع

مثال على النتيجة

مثال على الباقة القياسية

دمج ملفات المبيعات الشهرية لـ 9 متاجر في تقرير Excel واحد

طريقة التشغيل

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  المجلد: sales/2026-10، عُثر على 9 ملفات
2026-11-02 09:14:03 INFO  shop-01.csv: 1,284 صفًا
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 صفًا
2026-11-02 09:14:04 WARN  shop-07.csv: تُخطّيت 3 صفوف بلا سعر (الأسطر 88، 412، 913)
2026-11-02 09:14:05 INFO  تم: 10,412 صفًا -> report-2026-10.xlsx (الورقتان «المبيعات» و«الإجماليات»)

إعدادات لا كود

أسماء أعمدة كل متجر موجودة في settings.ini، فالمتجر الجديد أو العمود الذي تغيّر اسمه يعني سطرًا واحدًا هناك:

[columns]
date = التاريخ, تاريخ البيع, اليوم
product = المنتج, الصنف, الاسم
quantity = الكمية, العدد, قطع
price = السعر, سعر الوحدة

جزء من الكود

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """يقرأ ملف متجر واحد ويمنح أعمدته أسماء أعمدة التقرير."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: لا يوجد عمود لـ «{name}» (جرى البحث عن: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

الملفات: أرشيف ZIP يضم merge_sales.py (310 أسطر)، وsettings.ini، وrequirements.txt، وملف README يشرح تثبيت Python وتشغيل السكربت ومعنى كل رسالة في السجل. يشغّله العميل على كمبيوتره الخاص.

العميل: سلسلة صغيرة من 9 متاجر للأدوات المكتبية؛ يرسل كل متجر مبيعاته الشهرية في ملف CSV أو Excel، بأسماء أعمدة تختلف قليلًا من متجر إلى آخر. المهمة: سكربت واحد يقرأ كل ملف في مجلد، ويوحّد الأعمدة في شكل واحد، ويكتب تقرير Excel واحدًا يضم كل المبيعات وورقة بالإجماليات حسب المتجر.

العميل وجميع التفاصيل افتراضية.

عن هذه الخدمة

فواتير من المورّدين، ومستندات موقّعة، وتقارير تُرسل كل أسبوع: حين تبقى المرفقات في Gmail، فإن العثور على أحدها لاحقًا يعني البحث في سلاسل الرسائل. يمر سكربت Google Apps Script هذا على البريد الذي تختاره ببحث Gmail، مثل رسائل مورّديك التي تحمل ملف PDF، ويحفظ كل مرفق في مجلد على Google Drive: مجلد واحد، أو مجلدات فرعية حسب المرسل أو الشهر أو نوع الملف، بأسماء تتضمن التاريخ والمرسل. ثم يصنّف البريد كمحفوظ، فلا يُحفظ شيء مرتين، وبدءًا من الباقة القياسية يسجل كل ملف في سجل. يمكن استبعاد الصور الصغيرة في التواقيع. تشغل الملفات مساحة في Drive لديك. يقتصر التشغيل على نحو ست دقائق، لذا يُعالج المتراكم الكبير على أجزاء. تثبّته وتشغّله في حسابك على Google.

ما المشمول

  • ما الذي تحصل عليهأرشيف ZIP يضم كود Apps Script وملف README يوضح كيفية إضافته إلى حسابك ومنح الصلاحيات وتشغيله؛ ويُعرض الكود أيضًا في صفحة الطلب.
  • البريد عبر بحث Gmailمثلًا: from:@supplier.example has:attachment
  • مجلدات على طريقتكمجلد واحد، أو حسب المرسل أو الشهر أو النوع
  • أسماء ملفات واضحةالتاريخ والمرسل مضافان إلى الاسم
  • لا شيء مرتينالبريد المحفوظ يحصل على تصنيف ويُتخطى في المرة التالية
  • كود مقروءمع تعليقات، ليسهل إضافة مجلد لاحقًا

كيف يعمل

  1. 1
    المهمةتحدد البريد المطلوب وطريقة ترتيب المجلدات
  2. 2
    الكودنكتب السكربت ودليل تثبيته
  3. 3
    جرّبهتشغّله على بحث محدود أولًا وتتحقق من المجلد
  4. 4
    التعديلاتتطلب التعديلات ضمن باقتك وترسل أي رسالة خطأ

ما نحتاجه منك

البريد المطلوب: المرسلون أو النطاقات، أو كلمات في الموضوع، أو أنواع الملفات، أو نطاق تاريخ، أو بحث Gmail تستخدمه بالفعل. كيف تُرتَّب مجلدات Drive وتُسمّى، وكيف تُسمّى الملفات، وما الذي يُتخطى (صور التواقيع، الملفات الأصغر من حجم معين). العدد التقريبي للرسائل ذات المرفقات حاليًا وكم مرة تصل رسائل جديدة، وهل تستخدم Gmail مجانيًا أم Google Workspace.

سنسألك:

  • ما المرفقات التي تحتاجها؟
  • كيف يجب ترتيب المجلدات؟
  • كيف يجب تسمية الملفات؟
  • البريد القديم أيضًا، وكم مرة؟

قارن بين الباقات

الباقاتالأساسيةمجلد واحد‏16 US$القياسيةالمجلدات مع الإعدادات‏33 US$المميزةأداة المرفقات‏67 US$
مدة التنفيذ1 يوم2 يوم3 أيام
التعديلات123
الكودحتى 150 سطرًاحتى 400 سطرحتى 1,000 سطر
ملفات الكود1حتى 3حتى 8
ملف الإعداداتلانعمنعم
رسائل خطأ واضحة وسجللانعمنعم
خيارات التشغيل ودليل لتشغيله وفق جدول زمنيلالانعم
دليل التثبيت والتشغيل (README)نعمنعمنعم
اللغةGoogle Apps ScriptGoogle Apps ScriptGoogle Apps Script
اطلب الأساسيةاطلب القياسيةاطلب المميزة

حماية الدفع

تدفع عند الطلب، لكن المبلغ لا يُحوَّل إلا مقابل عمل قبلته.

  • سعر ثابتلا يتغير سعر الباقة بعد الدفع.
  • المبلغ محجوزعند الدفع، يُحجز المبلغ فقط. ولا يُحوَّل إلى Dleex إلا بعد قبولك العمل.
  • فحص قبل التسليمتخضع كل نتيجة لفحص الجودة قبل أن تصل إليك، وتراها في صفحة الطلب قبل قبولها.
  • تعديلات مجانيةاطلب تعديلات ضمن متطلبات طلبك بالعدد الذي تسمح به الباقة.
  • القبول بعد 3 أيامإذا لم تقبل العمل ولم تطلب تعديلات خلال 3 أيام من التسليم، يُقبل تلقائيًا. وإذا كتبت في محادثة الطلب بعد التسليم، يبقى الطلب قيد الانتظار؛ وبعد ردّنا، قد نعيد بدء مهلة 3 أيام وسنُعلمك بذلك في المحادثة.
  • إعادة التنفيذ أو استرداد المبلغ كاملًاإذا لم تطابق النتيجة متطلبات طلبك ولم تُصلحها التعديلات، أو استغرق العمل أكثر من ضعف مدة التنفيذ، فاكتب في محادثة الطلب: سنعيد تنفيذ العمل أو نردّ إليك المبلغ كاملًا.
كيف يعمل →

الأسئلة والأجوبة

هل يمكنه حفظ المرفقات من البريد القديم؟

نعم، أي بريد يطابق البحث مهما كان قديمًا. يُعالج المتراكم الكبير على أجزاء عبر عدة تشغيلات، لأن كل تشغيل يقتصر على نحو ست دقائق.

هل سيزيل المرفقات من Gmail؟

لا. يبقى البريد كما هو بمرفقاته؛ يكتفي السكربت بحفظ نسخ في Drive وإضافة تصنيف.

هل يمكنه الحفظ في drive مشترك؟

نعم، في أي مجلد يمكنك إضافة ملفات إليه، بما في ذلك مساحات drive المشتركة في Google Workspace.

هل تحصلون على وصول إلى بريدي أو Drive؟

لا. تضيف السكربت في حسابك الخاص وتمنحه الصلاحيات بنفسك. لا نرى بريدك ولا ملفاتك أبدًا.

لم تجد إجابتك؟

الباقات