اذهب الي المحتوي
أوفيسنا

ابو تراب

الخبراء
  • Posts

    393
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    5

كل منشورات العضو ابو تراب

  1. وعليكم السلام ورحمة الله و بركاته شكرا على كلماتك الطيبة نعم يمكنك استخدام خلية كما في المثال التالي: SendEMail [A1], [A2], "اختبار","هذا اختبار ارسال رسالة" ملاحظة: ===== بالنسبة لعنوان المرسل فانه القوقل سيمسحه و يكتب بدلا عنه العنوان الذي سجلت الدخول. السبب ان القوقل يريد ان يقلل من البريد المزعج او Spam ماذا يمكنك فعله في هذه الحالة 1 - اضافة بريد اخر لدى حسابك في القوقل ليتم استخدمة بدلا عن الحساب الحالي ... لمزيد من المعلومات انظر للرابط التالي: Send mail as another address 2 - يمكنك فقط اظهار اسم معين مع البقاء على عنوان المرسل مثال: SendEMail """اسم الشركة"" <test@gmail.com>", [A2], [D1], [D3] تحياتي
  2. هلا عباد جرب الملف المرفق كذلك يمكنك مراجعة الرابط التالي اذا اردت خيار اخر لارسال الايميل شرح ارسال بريد الكتروني عبر الاكسل email.zip
  3. ممتاز .... و المثال المرفق يشرح الفكرة بطريقة عملية جزاك الله خيرا على مشاركتنا هذه المعلومة المهمة المفيدة
  4. السلام عليكم ورحمة الله وبركاته الى السادة اعضاء منتدانا الكرام اليكم اليوم شرح طريقة ارسال بريد الكتروني من خلال الاكسل لهذا الغرض عملت دلة صغيرة لارسال االايميل بلخيارات الاساسية التي ستحتاجها و سأحاول ان اعرضها اليكم بطريقة بسيطه مع توضيح كيفية عملها و الشروط التي يجب ان تتوافر قبل استخدامها سنفترض التالي البريد المرسل هو : send@gmail.com البريد المستلم هو : emp01@gmail.com تطبيق الدالة عنوان الرسالة ياتي قبل نصها ... ولكن بسبب تنسيق الكود في المنتدى فمعظم الاكواد تظهر نص الرسالة قبل العنوان 1 - ارسال رسالة بعنوان: اختبار و نص الرسالة: هذا اختبار ارسال رسالة SendEMail "send@gmail.com", "emp01@gmail.com", "اختبار","هذا اختبار ارسال رسالة" 2 - ارسال رسالة مع نسخة (CC) لـ manager01@gmail.com SendEMail "send@gmail.com", "emp01@gmail.com", "اختبار","اختبار ارسال رسالة", "manager01@gmail.com" 3 - ارسال رسالة مع نسخة (CC) لـ manager01@gmail.com و نسخة كربونية (BCC) لـ send@gmail.com يفضل دائما ان تحتفظ بنسخة من الرسائل التي ارسلتها. SendEMail "send@gmail.com", "emp01@gmail.com", "اختبار","اختبار ارسال رسالة", "manager01@gmail.com","send@gmail.com" 4 - ارسال رسالة وارفاق ملف واحد SendEMail "send@gmail.com", "emp01@gmail.com", "اختبار","اختبار ارسال رسالة",,,"c:\work\pic1.jpg" 5 - ارسال رسالة وارفاق اكثر من ملف SendEMail "send@gmail.com", "emp01@gmail.com", "اختبار","اختبار ارسال رسالة",,,Array("c:\work\pic1.jpg","c:\work\pic2.jpg") 6 - ارسال رسالة لاكثر من مرسل اليه SendEMail "send@gmail.com", Array("emp01@gmail.com","emp02@gmail.com"), "اختبار","اختبار ارسال رسالة" 7 - ارسال رسالة لاكثر من نسخة (CC) SendEMail "send@gmail.com","emp01@gmail.com","اختبار" ,"اختبار ارسال رسالة", Array("manager01@gmail.com","manager02@gmail.com") 8 - ارسال رسالة بتنسيق HTML SendEMail "send@gmail.com", "emp01@gmail.com", "اختبار", "<B>نص الرسال</B>", , , , True شروط استخدام الدالة و افتراضات 1- الدلة تستخدم ملقم SMTP تبع ال GMail ولهذا يجب ان يكن لديك حساب في القوقل ... تم الافتراض هنا ان الحساب هو send@gmail.com (يجب ان تستخدم حساب حقيقي) 2- افترضنا كلمة السر هى password (غير كلمة السر للكلمة الحقيقية ) غير القيم كما في الصورة هذا فقط ما يجب عليك فعله لبدء استخدام الدالة الا ان هناك ملاحظة مهمة شركة قوقل في شهر 7 الماضي رفعت متطلبات الامن لديها و لهذا فان ارسال الايميل عبر ملقمها smtp.gmail.com لن يتم الا اذا خفضنا درجة الامان. ولهذا انصح ان تنشئ بريد الكتروني جديد لاتستخدمة الا في ارسال البريد عبر الاكسل لتخفيض درجة الامن لحساب قوقل اتبع الخطوات التالية: - ادخل على حسابك و اختر Account - في القسم Account Settings و اختر Access for less secure Apps - اختر Enable يمكنك تحميل الدالة من الملف المرفق اسال الله تعالى ان يتقبل منى ومنكم صالح الاعمال كود ارسال بيريد الكتروني.zip
  5. موضوع اكثر من رائع .. واستفدت من الدالة CountLarge سيد ياسر هذه محاولتي بدون كود
  6. وعليكم السلام هلا بالغالي ابو حنين الفكرة انك لاتغير الخلية N1 (لانها تزداد بواحد بعد كل عملية ترحيل) في اي وقت ترغب بترحيل من ملف المقاولين ما عليك الا فقط ادخل قيمة اكبر من قيمة N1 في كل شيت تبع ملف المقاولين مثال === فيمة N1 في ملف البدل هى 5 لكي تتم عملية الترحيل من ملف المقاولين لا بد ان تضع قيمة تزيد عن N1 بواحد في كل صفحة من صفحات ملف المقاولين في هذه الحالة نضع 6. عندها كود الترحيل سيجد ان 5 اصغر من 6 و عندها سيرحل البيانات لكل صفحة من صفحات ملف المقاولين. بعدها ستزداد قيمة N1 بواحد و تصبح 6. و هنا اذا حاولت مرة اخرى الترحيل فلن يتم لان الشرط (6 > 6) لن يتحقق. ولا يهمك اذا لديك اي استفسار فقط اسأل لايضاح اكثر انظر للصورة :
  7. وعليكم السلام عدم الترحيل دليل ان الكود يعمل السبب ان قيمة الخلية N1 صفر و قيمة العدادات في ملف المقاولين ايضا صفرا و لهذا لن يعمل الترحيل.. فقط غير قيمة الخلية N1 الى 1- هذه المرة فقط و بعدها سيتحدث اوتوماتيكيا بعد كل عملية ترحيل لم اعيد ضبطها الى 1- سهوا بالتوفيق
  8. وعليكم السلام اخي محمد تم التعديل كما في الصورة انظر للمرفق مساعدة في تعديل علي فورم بحث.zip
  9. حيا الله اخينا الحبيب ابو حنين ... مشكور على دعائك الغالي وما اقول الا امين و من قال عملت لك عداد ترحيل و الفكرة هى انه بعد الترحيل سيزداد عداد الترحيل بواحد و عندها لن يتم الترحيل الا اذا تغيرت القيم في ملف المقاولين عداد الترحيل في الخلية N1 فضلا جرب و اشعرنا تحياتي ترحيل من ملف الى ملف.zip
  10. وعليكم السلام و رحمة الله ابو حنين جرب المرفق ترحيل من ملف الى ملف.zip
  11. نعم يمكنك انظر للمثال المرفق كل ما عبيك فعله هو 1- انسخ الخلية من الاكسل 2- اذاهب لملف الورد و انقر على خلية الجدول 3- اختر Paste -> Paste Special و اختر ما في الصورة: ملاحظة ===== اذا اردت تحديث البيانات يمكنك عن طريق الضغط على F9 حمل المرفق ... على كلا اول ما تفتح ملف الوورد سيخبرك ان عناوين الربط قد تغيرت فقط انقر على OK و بيتم تحديثها على المسار الصحيح...انظر للصورة لمزيد من الايضاح Link Excel into Word.zip
  12. فكرة مميزة فعلا ... شكرا الله لك و جزاك خيرا تقبل تحياتي
  13. بعد اذن اخي ياسر ضفت الكود التالي ليناسب طلب السائل If WorksheetFunction.IsNumber(Target.Value) Then Target.Offset(, 1).Value = Date Else Target.Offset(, 1).Value = "" End If
  14. احد الحلول عبر ال VBA لو ترفق ملف سيسهل للاعضاء الكرام ان يجيبوك
  15. ما شاء الله تبارك الله اخي محمد فكرة ممتازة و شرح اروع بعد اذنك و اثراء للموضوع ممكن ايضا عكس الترتيب الافقي عبر المعادلة التالية: INDIRECT(ADDRESS(20,COUNTA($A$20:$F$20)-COLUMN(A$20)+1))
  16. 1 – عمل ملف اكسل (كتابة كود الماكرو) 2- انشاء ملف VBScript لتشغيل الماكرو 3 – كتابة ملف دفعي او باتش batch لفحص الوقت 4 – انشاء ملف تنصيب خدمة الويندوز Windows Service ___________________________________________ بسم الله الرحمن الرحيم على الله نتوكل وبه نستعين ملاحظة ===== اذا لم تفرأ الخطوات السابقة بعد فأني اشد على يدك ان تقرأها اولا قبل الاستمرار. سنفترض التالي: 1 - جميع الملفات في المسار التالي (بالطبع يمكنك وضعهم في اي مجلد من اختيارك) C:\work\2015 2 - الخدمة ستعمل تحت حساب النظام المحلي Local System Account 3 - الخدمة ستحتاج الى وسيط وهو اسم ملف الباتش RunSummaryMacro.cmd لتشغيله 4 - الخدمة ستعمل اوتوماتيكيا كل مرة يشتغل فيها الجهاز. 5 - اسم الخدمة هو AbuTorab (يمكنك تسميتها ما تشاء) انشاء خدمة ويندوز هى من اكثر الخطوات تشويقا و اثارة..و لهذا سنبدأ على عكس ما بدأناه في الخطوات السابقة....سنبدأ من النهايــــــــــــة. 1 - انقر بالزر الايمن و اختر Run as Administrator 2 - اخل حرف Y للموافقة على تنصيب الخدمة 3 - تم تنصيب الخدمة بنجاح...لاحظ ان رقم العملية PID للخدمة على جهازي هى 5144 4 - هنا قد انتهينا من تنصب الخدمة الا انه استكمالا للشرح لنرى الخدمة وهى تعمل في الخلفية. اضغط شعار ويندوز + R واكتب Services.msc من هنا يمكنك ايقاف و تشغيل الخدمة 5 - لنرى الخدمة من شريط المهام اضغط Ctrl + Shift + Esc .. اختر التبويب Services ومن ثم التبويب Details ماذا ترى!!! 6 - الاسم في التبويب Services هو كما توقعناه AbuTorab ولكن الاسم في التبويب Details مختلف!!! السبب هو ملف الباتش لا يستطيع من تلقاء نفسه التخاطب مع مركز خدمات الويندوز و لهذا نحتاج الى تغليفه wrap باداة صغير لديها القدرة على التخاطب مع النظام و في نفس الوقت القدرة على تشغيل ملف الباتش و الاداة هى Srvany.exe. توجد ادوات اخرى ولكن استخدمت هذه و يمكنك استخدام ما تريد يمكنك تحميل مجموعة الادوات من موقع شركة ميكروسوفت او يمكنك تحميلها من المرفق ستطلب هذه الاداة ان تعمل لها ثلاث قيم في سجل النظام ... وهذه القيم هى: AppDirectory : مسار المجلد الذي يحتوي على ملف الباتش Application : ملف الباتش مع المسار AppParameters: وسائط ملف الباتش..في مثالنا سيكن ملف الاسكربت ملاحظة: ===== عند انشاء الخدمة سيتم اضافتها الى سجل النظام في المسار التالي: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AbuTorab اذا اردت ان ترها بنفسك فأضغط شعار ويندوز + R و اكتب RegEdit للتوضيح راجع الصورة التالية: لنتحدث قليل على اوامر انشاء الخدمة Windows Service ================================ 1- لانشاء الخدمة يمكننا عن طريق الامر sc في محرر الاوامر (هذا الامر يحتاج الى صلاحيات مدير النظام لينفذ) SC create AbuTorab binpath="C:\work\2015\srvany.exe" 2- لجعل الخدمة تعمل اوتوماتيكيا عن تشغيل/إعادة تشغيل النظام ننفذ الامر التالي: SC config AbuTorab start=auto 3- لتشغيل الخدمة sc start AbuTorab 4- لحذف الخدمة SC delete AbuTorab 5 - لتحديث قيم سجل النظام ننفذ الاوامر التالية reg add "HKLM\SYSTEM\CurrentControlSet\Services\AbuTorab\Parameters" /v AppDirectory /t REG_SZ /d "C:\Work\2015" reg add "HKLM\SYSTEM\CurrentControlSet\Services\AbuTorab\Parameters" /v Application /t REG_SZ /d "C:\Work\2015\RunSummaryMacro.cmd" reg add "HKLM\SYSTEM\CurrentControlSet\Services\AbuTorab\Parameters" /v AppParameters /t REG_SZ /d "C:\Work\2015\RunSummaryMacro.vbs" ملاحظة مهمة و اخيرة اذا نفذت الاوامر السابقة فان الخدمة ستعمل و ملف الباتش سيعمل و ملف الاسكربت سينفذ و لكن لن ينفذ الماكرو برامج الاوفس هى برامج تفاعلية interactive تتفاعل مع حساب المستخدم الذي سجل الدخول وهو ليس حساب تشغيل الخدمة الا وهو System و لهذا فان الماكرو لن ينفذا...لتحقيق هذا التفاعل نحتاج لوجود مجلد باسم Desktop على المسار التالي: في نسخة الويندوز 64 بت: c:\windows\SysWOW64\config\systemprofile\Desktop في نسخة الويندوز 32 بت: c:\windows\System32\config\systemprofile\Desktop كود ملف تنصيب الخدمة @ECHO OFF SET ServiceName=AbuTorab ECHO A new Windows service called "%ServiceName%" will be installed ECHO. CHOICE /C YNC /M "Press Y for Yes, N for No or C for Cancel." IF %ERRORLEVEL% neq 1 (EXIT) mkdir %windir%\SysWOW64\config\systemprofile\Desktop mkdir %windir%\System32\config\systemprofile\Desktop CLS SET CurrentDir=%~dp0 sc create %ServiceName% binpath="%CurrentDir%srvany.exe" reg add "HKLM\SYSTEM\CurrentControlSet\Services\%ServiceName%\Parameters" /v AppDirectory /t REG_SZ /d %CurrentDir% reg add "HKLM\SYSTEM\CurrentControlSet\Services\%ServiceName%\Parameters" /v Application /t REG_SZ /d "%CurrentDir%RunSummaryMacro.cmd" reg add "HKLM\SYSTEM\CurrentControlSet\Services\%ServiceName%\Parameters" /v AppParameters /t REG_SZ /d "%CurrentDir%RunSummaryMacro.vbs" sc config %ServiceName% start=auto sc start %ServiceName% ECHO. ECHO ========================================================= ECHO The %ServiceName% has been installed and run successfully ECHO ========================================================= SET CurrentDir= SET ServiceName= pause @ECHO ON مخرجات الخطوة الاخيرة ================= اسم ملف التنصيب : Installِ_AbuTorab_Service.bat اسم ملف الاداة : srvany.exe جميع الملفات تجدها على المرفق و يمكنك البدء تم بحمد الله الذي بنعمه تتم الصالحات 2015.zip
  17. فكرة التشفير ممتازة ...جزاك الله خيرا على مشاركتنا المعلومة.
  18. هلا اخي جربت الكود وهو يعمل بشكل صحيح ... الكود يعتمد على الموقع الحالي لسطر القائمة بغض النظر عن تكرار الاسم فضلا خبرنا اذا ما كانت المشكلة مازالت موجودة
  19. ما شاء الله برنامج روعة و طريقة الترجمة عبر القوقل اروع.... جزاك الله عنا خيرا اخي ياسر..استمر في اظهار ابداعاتك
  20. وعليكم السلام و رحمة الله و بركاته جرب المرفق اخفاء اوراق.zip
  21. بعد اذن اخي عبدالله هل تقصد كما هو في الكود التالي: Private Sub Worksheet_Change(ByVal Target As Range) UserForm1.TextBox1.Text = WorksheetFunction.Sum(Range("A1:A100")) End Sub انظر المرفق Text.zip
×
×
  • اضف...

Important Information