شرح - تشغيل برنامجك بدون تفعيل الماكرو لمن يعاني من مشاكل تفعيل الماكرو

شرح - تشغيل برنامجك بدون تفعيل الماكرو لمن يعاني من مشاكل تفعيل الماكرو

السلام عليكم

اليوم اضع لكم شرح  حل لموضوع تفعيل الماكرو عن طريق لغة برمجة الفيجوال بيسك 6
بداية الشرح اولا سنقوم بعمل مشروع جديد 
ليظهر معنا فورم واحد وهو المطلوب
لكي يتم ربط الاكسيل مع الفيجوال لابد من وجود مرجع يعتمد عليه البرنامج للتعامل مع الاكسيل 
وهذه صور من دروس سابقة لمعرفة كيفية اضافة مرجع لبرنامج الاكسيل داخل المشروع الخاص بنا
صور من درس سابق لربط الفيجوال بالاكسيل
2 (894 x 671).png
3 (893 x 678).png
بعد ان قمنا باضافة المرجع الخاص بالاكسيل
نأتي لمشروعنا 
1.PNG
دا شكل الفورم وكوده
هتضيف صورة او ليبل حسب ما تشوفه مناسب ليك
ودا بدون اي اكواد عادي
نأتي للكود نضع في الحدث load
الكود التالي
Private Sub Form_Load()
Dim Start, Finsh
Form1.Show
Start = Timer
Finsh = Start + 5
Do Until Finsh <= Timer
DoEvents
Loop
Unload Me
    Excel.Workbooks.Open App.Path + "\yasser.xlsm"
    Excel.Application.Visible = True
End Sub
الكود عبارة عن اعلان عن متغيرين بداية ونهاية
البداية تساوي التايمر النهاية تساوي التايمر + اي وقت تضيفه لفترة عرض الفورم كشاشة افتتاحية
وبعد كدا ندخل في حلقة تكرارية حتى تكون النهاية اقل من او تساوي الوقت
وبعد تحقق الشرط يتم غلق الفورم وفتح ملف الاكسيل وعرضه في الوضع المرئي
وبكدا يكون انتهينا من الدرس 
الكل مستغرب فيين كود تفعيل الماكرو اقوله مفيش 
ليه
اقوله لان تشغيل ملف الاكسيل عن طريق ملف تنفيذي يجبر وحدات الماكرو على العمل  حتى وان كانت غير مفعله
الفكرة موجودة من زمان بس محدش كان واخد باله منها لاننا كنا بنقوم بربط ملف عادي وليس به اي وحدات ماكرو
وطبعا نقوم بتحويل الملف لملف تنفيذي بعد الانتهاء
بالنسبة لمن لديه اي صعوبات في التعامل مع الفيجوال6 يتابع الدروس من اولها حتى يتثنى له انهاء هذا العمل
اما بخصوص من لديه الرغبة في وضع هذه الشاشة الافتتاحية ولا يريد ان يشغل باله اقوله ايضا سأقوم بعمل ملف به خيارات لضبطه كما تحتاج

مرفق السورس كود للبرنامج لمن لا يريد وجع دماغه 
:wallbash:


تقبلو تحياتي

ياسر العربي

يتبع


http://up.top4top.net/downloadf-144afoa1-rar.html
تشغيل برنامجك بدون تفعيل الماكرو لمن يعاني من مشاكل تفعيل الماكرو

تشغيل برنامجك بدون تفعيل الماكرو لمن يعاني من مشاكل تفعيل الماكرو

السلام عليكم


اليوم اضع لكم حل لموضوع تفعيل الماكرو عن طريق لغة برمجة الفيجوال بيسك 6

كثير منا يقوم ببناء برنامجه ولكن تظل مشكلة تفعيل الماكرو العائق امام تشغيل برنامجنا على اجهزة اخرى 

فيضيع علينا 

اظهار الانطباع الاول لبرنامجنا 
:wink2:
واللي ميعرفشي موضوع البرمجة ويلاقيك محتاس عمال تفعل الماكرو كل ما تشغله على جهاز جديد يقول انك 
مش محترف :Rules: :jump:
المهم عشان نشغل برامجنا على اي جهاز بدون تفعيل الماكرو وانسى الماكرو خالص
:cool:
قمت بعمل برنامج بسيط يعمل كواجهه للبرنامج الخاص بنا او كشاشة دخول برنامجنا

وتبدأ كما بالصورة لمدة نحددها نحن وبعدها تختفى ويفتح لنا البرنامج بدون تفعيل الماكرو :blink:
vb666.png

كل ما علينا ان نضع ملف البرنامج الخاص بنا بجانب الملف التنفيذي الذي سيعمل كشاشة بداية للبرنامج

ونغير اسم برنامجنا الى ما هو موضح بالصورة

Capture.PNG
Yasser.xlsm

وهذا مؤقت فقط لحين شرح كيفية عمل هذه الشاشة الافتتاحية وتحطوا اي اسم لبرنامجكم

وطبعا الامتداد xlsm

ويمكن تغييره حتى ممكن نلعب في الامتداد ونخليه مثلا Yasser.dat ونخفيه كمان يبقي كأنه بيشغل من 

البرنامج التنفيذي

المهم كل واحد عنده ملف به اكواد ماكرو يقدر يعطل الماكرو عنده ويحط ملفه بجانب هذا الملف التنفيذي ويقوم

 باعادة التسمية ليصبح Yasser.xlsm

ويقولي ايه رأيه

باذن الله سنقوم بشرح طريقة عمل هذه الشاشة الافتتاحية بعد ثبوت فاعليتها

الملف مرفق

به طريقتين لعمل الملف التنفيذي تستطيعوا تجربة اي واحد



تقبلو تحياتي
ياسر العربي
:fff::fff::fff::fff:
يتبع

اضافة كومنت الى كود الصنف باسم الصنف

بسم الله الرحمن الرحيم


بعض الاحيان اثناء تعاملنا مع الفواتير واكواد الاصناف

نحتاج الى حفظ الاكواد او معرفة ما اسم الكود المكتوب اذا لم يكن اسم الصنف مدرج ضمن الفاتورة اوالبيان

فهذه طريقة لوضع اسم الصنف على نفس خلية الكود في كومنت لسهولة معرفة الصنف

وتصلح لاشياء اخرى كثيرة كمعرفة اسم الشخص من رقمه القومي مثلا وغيرها


صورة توضيحية


الكود المستخدم داخل الملف
 Private Sub Worksheet_Change(ByVal Target As Range)  
   If Target.Column = 13 Then  
     If Target.Value = "" Then  
       Target.Comment.Delete  
     Else  
       On Error Resume Next  
       Target.Comment.Delete  
       Target.AddComment  
       Target.Comment.Text Text:="Yasser:" & Chr(10) & Application.WorksheetFunction.VLookup(Target.Value, Sheet1.Range("a5:c29"), 2, 0)  
     End If  
   End If  
 End Sub  

لتحميل الملف اضغط هنا

اعداد/ ياسر العربي



http://www.up-00.com/?BS4y


طريقة تفعيل الماكرو والاكتف اكس لكل مبتدئ في لغة الـVBA

بسم الله الرحمن الرحيم 


اضع لكم اليوم فيديو بسيط لطريقة تفعيل الماكرو والاكتف اكس

وفتح محرر الاكواد

وانشاء يوزر فورم وموديول داخل محرر الاكواد

حتى يتثنى  لكل مبتدئ  وضع قدمه على اول طريق للبرمجة

وباذن الله نضع دروس بسيطة في بدايات البرمجة قريبا





تحياتي

ياسر العربي

http://www.up-00.com/?Z5xy

بحث متقدم مع امكانية اضافة شيت بالاسم المحدد من الليست او الذهاب الى شيت الاسم

بسم الله الرحمن الرحيم


اليوم اقدم لكم بحث متقدم للبحث عن الاسم بالحرف او الكلمة او الجملة

وعرض النتائج في كمبوبوكس والليست بوكس

وايضا تم اضافة امكانية تحديد الاسم من الليست بوكس 

وعمل شيت بنفس الاسم المحدد داخل اللسيت

كما يمكنك ايضا من الذهاب الى شيت  الاسم المحدد داخل الليست بوكس

الكود المستخدم داخل الملف


كود البحث

 Private Sub ComboBox1_Change()  
   Dim a()  
   Dim b, c, d, e  
   Dim Ws As Worksheet: Set Ws = Sheets("Sheet1")  
   e = Ws.Range("a40000").End(xlUp).Row  
   a = Ws.Range("A2:a" & e).Value  
   With Me.ComboBox1  
     .List = a  
     .ListRows = 20  
     .MatchEntry = fmMatchEntryNone  
     .TextAlign = fmTextAlignCenter  
   End With  
   Set b = CreateObject("Scripting.Dictionary")  
   d = "*" & UCase(Me.ComboBox1) & "*"  
   For Each c In a  
     If UCase(c) Like d Then b(c) = ""  
   Next c  
   Me.ComboBox1.List = b.keys  
   Dim l As MSForms.ComboBox: Set l = Me.ComboBox1  
   Dim i As Long: i = 0  
   While i < l.ListCount  
     If "" = Trim$(l.List(i, 0)) Then: l.RemoveItem (i): Else i = 1 + i  
   Wend  
   ListBox1.AddItem  
   ListBox1.List = ComboBox1.List  
 End Sub  

كود اضافة شيت بالاسم المختار من الليست بوكس

 Private Sub CommandButton1_Click()  
   Dim Ws As Worksheet  
   Application.ScreenUpdating = False  
   Application.EnableEvents = False  
   On Error Resume Next  
   Set Ws = Worksheets(CStr(ListBox1.Text))  
   On Error GoTo 0  
   If Ws Is Nothing Then  
     Sheets.Add After:=Sheets(Sheets.Count)  
     ActiveSheet.Name = CStr(ListBox1.Text)  
     Sheet1.Activate  
     Set Ws = Nothing  
   End If  
   Application.EnableEvents = True  
   Application.ScreenUpdating = True  
 End Sub  

كود الذهاب الى شيت الاسم المختار


 Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)  
   Dim Ws As Worksheet  
   On Error Resume Next  
   Set Ws = Worksheets(CStr(ListBox1.Value))  
   Ws.Activate  
   Set Ws = Nothing  
 End Sub  

لتحمل البرنامج اضغط هنا


اعداد / ياسر العربي

برنامج محاسبة بسيط تحت التطويراكسيل

بسم الله الرحمن الرحيم


اقدم لكم برنامج محاسبة بسيط 

قمت بانشائه منذ فترة ولم اكمله

فهو الان تحت الاختبار والتعديل والحذف والاضافة

ولكن لا بأس بوضعه في صورته الان كي يخدم بعض الفئات التي تعتمد على عمل المخازن اكثر

كلمة المرور للمستخدم   Yasser 
هي  1234

اذا وجدت اي مشكلة او اي اضافة  تحتاجوا لها    يرجى ترك ملحوظة بذلك  لمعالجة المشكلة حيث انه تحت التطوير ولم يكتمل بعد

نوافذ البرنامج

شاشة الدخول


الشاشة الرئيسية

 صفحة الفواتير

 صفحة اضافة عملاء وموردين واصناف

سندات صرف وقبض

اعدادات البرنامج

تقارير الشركة والموازنة



تحياتي

اعداد / ياسر العربي


فكرة جميلة لعمل ريسيبهات الاصناف اكسيل

بسم الله الرحمن الرحيم



اقدم لكم اليوم فكرة قمت بانشائها بناء على طلب احد الاخوة الكرام

لعمل ريسيبهات الاصناف

الفكرة تسهل عليكم التعامل مع الاصناف ومكوناتها  من مواد خام

مما يسهل عليكم تحديد خامات كل صنف تم تصنيعه

ويسهل عليكم تحديد اسعار الاصناف

الفكرة بسيطة ويمكن تعديلها لتخدم الجميع

وربطها بالاسعار والمخازن

صورة توضيحية




تحياتي
ياسر العربي

بحث متقدم بالحرف او الكلمة وبدون تكرار او فراغات

بسم الله الرحمن الرحيم


اليوم اقدم لكم بحث متقدم للبحث عن الاسم بالحرف او الكلمة او الجملة

وعرض النتائج في كمبوبوكس والليست بوكس

الكود المستخدم داخل المثال
 Private Sub ComboBox1_Change()  
   Dim a()  
   Dim b, c, d, e  
   Dim WS As Worksheet: Set WS = Sheets("Sheet1")  
   e = WS.Range("a40000").End(xlUp).Row ' WS.Cells(Rows.Count, 1).End(xlUp).Row  
   a = WS.Range("A2:A" & e).Value  
   With Me.ComboBox1  
     .List = a  
     .ListRows = 20  
     .MatchEntry = fmMatchEntryNone  
     .TextAlign = fmTextAlignCenter  
   End With  
   Set b = CreateObject("Scripting.Dictionary")  
   d = "*" & UCase(Me.ComboBox1) & "*"  
   For Each c In a  
     If UCase(c) Like d Then b(c) = ""  
   Next c  
   Me.ComboBox1.List = b.keys  
   Dim l As MSForms.ComboBox: Set l = Me.ComboBox1  
   Dim i As Long: i = 0  
   While i < l.ListCount  
     If "" = Trim$(l.List(i, 0)) Then: l.RemoveItem (i): Else i = 1 + i  
   Wend  
   ListBox1.AddItem  
   ListBox1.List = ComboBox1.List  
 End Sub  

صورة توضيحية

تحميل المثال اضغط هنا


تحياتي
 ياسر العربي

إضافة أداة أخر التعليقات مع صور المعلقين

بسم الله الرحمن الرحيم


اليوم نتطرق الى اضافة جميلة ومفيدة وهي عرض اخر التعليقات بالمدونة

حتى تساعدك لمعرفة الردود وسرعة الرد والتفاعل داخل المدونة

ومن ناحية اخرى تعطى المدونة شكل ومظهر جمالي

يجذب الانتباه للمدونة 

وهذه صورة توضيحية لاخر التعليقات داخل مدونة مصطبة الحبايب

صورة توضيحية


وبعد ان رأينا شكل التعليقات ندخل على كتابة الكود

   الذهاب إلى Bloggerتخطيط

     اختر إضافة أداة

 Html/javascript

ونضع بداخلها الكود التالي
 <style type="text/css">   ul.w2b_recent_comments{list-style:none;margin:0;padding:0;}   .w2b_recent_comments li{background:none !important;margin:0 0 6px !important;padding:0 0 6px 0 !important;display:block;clear:both;overflow:hidden;list-style:none;}   .w2b_recent_comments li .avatarImage{padding:3px;background:#fefefe;-webkit-box-shadow:0 1px 1px #ccc;-moz-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc;float:left;margin:0 6px 0 0;position:relative;overflow:hidden;}   .avatarRound{-webkit-border-radius:100px;-moz-border-radius:100px;border-radius:100px;}   .w2b_recent_comments li img{padding:0px;position:relative;overflow:hidden;display:block;}   .w2b_recent_comments li span{margin-top:4px;color: #606060;display: block;font-size: 15px; line-height: 1.4;} </style> <script type="text/javascript"> //<![CDATA[   // Recent Comments Settings   var numComments = 5, showAvatar = true, avatarSize = 50, roundAvatar = true, characters = 40, showMorelink = false, moreLinktext = "More &#187;", defaultAvatar = "http://www.h-online.com/imgs/43/7/8/4/4/3/9/anonymous_or_80-f288c17fbe12ecd1.png", hideCredits = true; //]]> </script> <script type="text/javascript" src="https://abuiyad.googlecode.com/svn/recent%20comments.js"></script> <script type="text/javascript" src="http://yasserelaraby86.blogspot.com.eg/feeds/comments/default?alt=json&callback=w2b_recent_comments&max-results=4"></script>  


تقوم بتغيير الرابط
http://yasserelaraby86.blogspot.com.eg
برابط مدونتك حتى تعمل داخل مدونتك
وتمتع بالاضافة الجديدة
تحياتي
ياسر العربي

كيف اقبل في جوجل ادسنس

السلام عليكم ورحمة الله

يبدو ان العديد من المدوينين العرب يعانون من مشكل الرفض في ادسنس دلك قد خصصت درسا خاصا عن طرق و حيل تتبعها من اجل زيادة فرص وحظوظك في القبول ماعليك الا اتباع الشرح التالي خطوة بخطوة
نبدا في الدرس

كيف اقبل في جوجل ادسنس

  • المحتوى
  • الابتعاد عن المحتوى المقرصن دود الحقوق و الملكية كالافلام و الموسيقى و غيرها من المواد المحمية
  • الابتعاد عن نسخ المقلات لان هدا يعرضك لعدم القبول
  • الابتعاد عن  المحتوى الضعيف اي المقلات القصيرة و قلة عدد المقلات متل كتابة 6 مقالات ومحاولة الاشتراك في ادسنس
  • محاولة التخصص في مجال وليس ان تكتب على كل شيء

  • تصميم القالب
  • يجب ان يكون خفيف التحميل
  • يجب ان يكون سهل التصفح
  • عدم وضع فيه الاضافات الزائد
  • ويجب ان يكون دو الوان خفيفة و جميل

  • ملأ البيانات
  •  يجب ان يكون الاسم صحيح ويكون لك
  • العنوان و الرمز البريد ضعهما بدقة


  • امور اخرى
  • يفضل ان يكون الدومين مدفوع
  • يفضل ان يكون البيج رانك مرتفع و نسبة زوار تابتة ومرتفعة
  • محتوى حصري وغير منقول
  • التفنن في طرح المواضيع
  • محاولة كسب الزوار و تقريبهم اليك من خلال الرد عليهم دائما
  • العمل بجدة واتبات نفسك و النشر مقالات بالانتظام
  • تقديم محتوى مفيد ويبحث عنه الزوار
  • يجب أن يكون عمر مدونتك على اقل مابين 3الى 4 أشهر قبل تقديم الطلب
  • ومن المستحب استخدام حساب جيما يل في عملية التسجيل
  • ويجب قراة الشروط جيد و العمل وفقها وإنشاء الله سوف يقبلك

  • تقبلوا تحياتي

مقالات

أخبار