مثال بسيط لاستخدام الدالة SUMIF عن طريق VBA

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

طلب احد الاخوة مثال للدالة SUMIF 

ولكن عن طريقة VBA

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

الكود المستخدم
 Sub Yasser_Test()  
   For x = 4 To 13  
     With Sheet2  
       Cells(x, 4) = Application.WorksheetFunction.SumIf(.Range("B4:B1000"), Cells(x, 2), .Range("D4:D1000"))  
       Cells(x, 5) = Application.WorksheetFunction.SumIf(.Range("B4:B1000"), Cells(x, 2), .Range("E4:E1000"))  
     End With  
   Next x  
 End Sub  


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

تحياتي

ياسر العربي

بعض طرق ترحيل البيانات - Data transfer

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

نقدم لكم اليوم بعض طرق ترحيل البيانات من شيت لاخر




الكود الاول

اول طريقة وهي عن طريق تخزين النطاق المراد ترحيله داخل مصفوفة 

ومن ثم وضعه في المكان المراد الترحيل اليه

كما موضح بالكود التالي

 Sub TRans()  
   Dim myArray() As Variant  
   myArray = Range("B5:J" & Cells(Rows.Count, 3).End(xlUp).Row)  
   Sheet2.Cells(Rows.Count, 2).End(xlUp)(2, 1).Resize(UBound(myArray, 1), UBound(myArray, 2)).Value = myArray  
   MsgBox "DONE....", 64  
 End Sub  

اما الكود الثاني

فهو يقوم بتحديد نطاق البيانات ومن ثم يقوم بالنسخ 

ويقوم بعمل لصق خاص (القيم فقط) اي البيانات بدون اي تنسيقات او 

معادلات

وتستطيع تغيير طريقة لصق البيانات كما بالصورة

منها لصق التنسيقات او لصق الجميع او لصق القيم الخ





الكود كما هو موضح 


 Sub TRans1()  
   Application.ScreenUpdating = False  
   Range("B5:J" & Cells(Rows.Count, 3).End(xlUp).Row).Copy  
   Sheet2.Range("B" & Sheet2.Cells(Rows.Count, 2).End(xlUp).Row + 1).PasteSpecial (xlPasteValues)  
   Application.CutCopyMode = False  
   Application.ScreenUpdating = True  
   MsgBox "DONE....", 64  
 End Sub  


الكود الثالث

يقوم بنسخ بطريقة الـ (Destination) 

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

وهذا الكود يقوم بنسخ البيانات كما هي بتنسيقاتها معادلاتها

كما موضح
 Sub TRans2()  
   Application.ScreenUpdating = False  
   Range("B5:J" & Cells(Rows.Count, 3).End(xlUp).Row).Copy Sheet2.Range("B" & Sheet2.Cells(Rows.Count, 2).End(xlUp).Row + 1)  
   Application.ScreenUpdating = True  
   MsgBox "DONE....", 64  
 End Sub  

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

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

فصل القيم النصية والرقمية Split Text & Number


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

اقدم لكم دالة معرفة لفصل القيم النصية عن القيم الرقمية

كل ما علينا هو ان نضيف هذ الكود للدالة المعرفة بموديل كما بالصورة


كود الدالة

 Public Function SplitText(WorkRng As Range, Number As Boolean) As String  
   Dim xLen As Long  
   Dim xStr As String  
   xLen = VBA.Len(WorkRng.Value)  
   For i = 1 To xLen  
     xStr = VBA.Mid(WorkRng.Value, i, 1)  
     If ((VBA.IsNumeric(xStr) And Number) Or (Not (VBA.IsNumeric(xStr)) And Not (Number))) Then  
       SplitText = SplitText + xStr  
     End If  
   Next  
 End Function  
طريقة كتابة الدالة


للقيم النصية
  =SplitText($A2;0)
 أو
=SplitText($A2;False)

للقيم الرقمية
=SplitText($A2;1)
أو
=SplitText($A2;TRUE)

كود اخر لفصل كل قيمة على حدا


الكود المستخدم للقيمتين

 Sub split_Text()  
   Dim xLen As Long  
   Dim xStr As String  
   Dim Rng As Range  
   For Each Rng In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)  
     xLen = VBA.Len(Rng.Value)  
     Rng.Offset(, 4).ClearContents  
     For i = 1 To xLen  
       xStr = VBA.Mid(Rng.Value, i, 1)  
       If Not (VBA.IsNumeric(xStr)) And Not (Number) Then  
         Rng.Offset(, 4) = Rng.Offset(, 4) + xStr  
       End If  
     Next i  
   Next Rng  
 End Sub  
 Sub Split_NUM()  
   Dim xLen As Long  
   Dim xStr As String  
   Dim Rng As Range  
   For Each Rng In Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)  
     xLen = VBA.Len(Rng.Value)  
     Rng.Offset(, 5).ClearContents  
     For i = 1 To xLen  
       xStr = VBA.Mid(Rng.Value, i, 1)  
       If (VBA.IsNumeric(xStr)) And Not (Number) Then  
         Rng.Offset(, 5) = Rng.Offset(, 5) & xStr  
       End If  
     Next i  
   Next Rng  
 End Sub
  

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

ياسر العربي

عرض الاكواد داخل المدونة داخل اطار بطريقة منظمة

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


اقدم لكم اليوم برنامج صغير وبسيط يخدم كل اصحاب المواقع والمدونات عند ادراج الاكواد داخل المواضيع او الصفحات

ويعمل على الاكواد بشكل عام لاى لغة برمجة 

يتم ادراج الكود داخل البرنامج وتحويله ومن ثم نسخه ووضعه داخل الصفحة في وضع HTML

صورة البرنامج



احد الاكواد بعد التنسيق

 Private Sub TextBox1_Change()  
   Dim myArray, lr, X, targt, targtN  
   Dim DATA As Worksheet  
   Set DATA = Worksheets("Sheet2")     
   lr = DATA.Cells(Rows.Count, 1).End(xlUp).Row    
   ListBox1.Clear   
   targt = TextBox1.Text   
   targtN = ComboBox1.ListIndex + 1    
   myArray = DATA.Range("A2:J" & lr)     
   ReDim y(1 To UBound(myArray, 1), 1 To UBound(myArray, 2))  
   For X = LBound(myArray) To UBound(myArray)  
     If targt = "" Then Exit Sub  
     If myArray(X, targtN) Like targt & "*" Then  
       rw = rw + 1  
       For yy = 1 To 10  
         y(rw, yy) = myArray(X, yy)  
       Next yy  
     End If  
   Next X  
   If rw > 0 Then  
     ListBox1.AddItem  
     ListBox1.List = y()  
   End If  
 End Sub  

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


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


عرض صورة المنتج ومعلوماته داخل اليوزر فورم


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

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

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

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

المستخدمين . فيفقد الملف جزء مهم وهو الصورة التوضيحية للمنتج

فاحببت ان افيدكم بكود كنت قد نشرته منذ فترة واعدت نشره مره اخرى

لان المعظم سيحتاجه لاكثر من استخدام

اليكم صورة  المثال 



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

بحث متقدم - سرعة عالية ومرونة باستخدام المصفوفات

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

بحث متقدم

كود بحث متقدم  يفوق معظم أنواع  البحث بالاعتماد على المصفوفات 

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

والمرونة العالية به  من حيث البحث داخل كل الأعمدة الموجودة داخل النطاق 

تم توضيح المتغيرات التي تستطيعوا تعديلها لتتوافق مع ملفاتكم 

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

 Sub Yasser_Serch()  
   Dim myArray, lr, X, targt, targtN  
   Dim SERCH As Worksheet, DATA As Worksheet  
   '____________________________________________  
   Set DATA = Worksheets("Sheet2")  'اسم شيت قاعدة البيانات  
   Set SERCH = Worksheets("Sheet1")  'اسم الشيت الخاص بالبحث  
   '____________________________________________  
   lr = DATA.Cells(Rows.Count, 1).End(xlUp).Row  'اخر صف به بيانات  
   SERCH.Range("A4:J" & SERCH.Cells(Rows.Count, 4).End(xlUp).Row + 1).ClearContents  'مسح نطاق البحث القديم  
   targt = SERCH.Range("e1").Value  'خلية البحث  
   targtN = Application.WorksheetFunction.Match(SERCH.Range("D1"), SERCH.Range("A3:J3"), 0)  'دالة لايجاد رقم عمود البحث  
   myArray = DATA.Range("A2:J" & lr + 1)  'نطاق قاعدةالبيانات الذي سيتم البحث فيه  
   '____________________________________________  
   ReDim Y(1 To lr, 1 To 10)  
   For X = 1 To lr  
     If targt = "" Then Exit Sub  
     If myArray(X, targtN) Like targt & "*" Then  
       rw = rw + 1  
       Y(rw, 1) = myArray(X, 1): Y(rw, 6) = myArray(X, 6)  
       Y(rw, 2) = myArray(X, 2): Y(rw, 7) = myArray(X, 7)  
       Y(rw, 3) = myArray(X, 3): Y(rw, 8) = myArray(X, 8)  
       Y(rw, 4) = myArray(X, 4): Y(rw, 9) = myArray(X, 9)  
       Y(rw, 5) = myArray(X, 5): Y(rw, 10) = myArray(X, 10)  
     End If  
   Next X  
   If rw > 0 Then SERCH.Cells(Rows.Count, 1).End(xlUp)(2, 1).Resize(rw, 10).Value = Y()  
 End Sub  

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




تم عمل اضافة بسيطة للبحث بشرطين اي شرط مع شرط التاريخ


صورة توضيحية لشكل البحث

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

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

كود بحث سريع جدا

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



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

الكود يقوم بالبحث داخل الشيت 1 عن القيمة المدخلة في خلية البحث بالشيت 2

ويتم عرض النتائج داخل الشيت 2 بالعمود A

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

 Sub Yasser_Serch()  
   Dim xx, zz, targt  
   Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row + 1).ClearContents  
   targt = Range("C2").Text  
   xx = Sheet1.Range("A1:A" & Sheet1.Cells(Rows.Count, 1).End(xlUp).Row).Value  
   ReDim Y(1 To Sheet1.Range("A1:A" & Sheet1.Cells(Rows.Count, 1).End(xlUp).Row).Count ^ 2, 1 To 1)  
   For Each zz In xx  
     If targt = "" Then Exit Sub  
     If zz Like targt & "*" Then  
       rw = rw + 1  
       Y(rw, 1) = zz  
     End If  
   Next zz  
   If rw > 0 Then Sheet2.Cells(Rows.Count, 1).End(xlUp)(2, 1).Resize(rw, 1).Value = Y()  
 End Sub  

وفي حدث تغيير الشيت يتم تشغيل الكود كما موضح

 Private Sub Worksheet_Change(ByVal Target As Range)  
   If Target.Address = "$C$2" Then  
     Call Yasser_Serch  
   End If  
 End Sub  


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


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



استخراج حالة الطالب ناجح او دور ثان ومواد الرسوب

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


اليوم نقدم لكم كود للتسهيل على الاخوة العاملين بالتربية والتعليم 

وهو كود لاستخراج حالة الطالب  

ناجح او دور ثان اضافة لذلك مواد الرسوب 

الكود يحتاج الى تحديد الثوابت الموجودة بالكود  

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

الكود 

Sub YASSER_ELARABY()
'YASSER_ELARABY
'26-9-2016
    Dim ARR
    Dim ARRY
    Dim ARRYS
    Dim ALL_LESS As String
    Const STATUS As Byte = 101    'عمود الحالة ناجح او دور ثان
    Const NOTES As Byte = 102  ' عمود الملاحظات عمود المواد او منقول للصف ا لاخر
    Const GENDER As Byte = 112  ' عمود الجنس ذكر او انثى
    '_____________________________________________________
    Const LESS_ROW As Byte = 6  'صف الدرجة الصغرى
    Const NAM_ROW As Byte = 2    'صف اسماء المواد
    Const NAME_FIRST As Byte = 7  ' اول صف لاسماء الطلاب
    Const NAME_LAST As Long = 206 + NAME_FIRST  ' عدد الطلاب
    '_____________________________________________________
    ARR = Array(9, 18, 27, 36, 46, 52, 54, 59, 64, 69, 78)  ' اعمدة اختبار الفصل الدارسي الثاني  لجميع المواد
    ARRY = Array(13, 22, 31, 40, 51, 52, 57, 62, 67, 72, 82)  'اعمدة الدرجة النهائية لجميع المواد
    ARRYS = Array(5, 14, 23, 32, 41, 52, 53, 58, 63, 68, 74)  'اعمدة اسماء كل المواد
    '_____________________________________________________
    With Sheet2 'اسم الشيت الموجود به البيانات
    For R = NAME_FIRST To NAME_LAST
        For X = 0 To UBound(ARR)
            On Error Resume Next
            Application.ScreenUpdating = False
            If ARR(X) = 46 Then
                If Val(.Cells(R, ARR(X))) + Val(.Cells(R, ARR(X) + 1)) < Val(.Cells(LESS_ROW, ARR(X))) Or .Cells(R, ARR(X)) = "غ" Or .Cells(R, ARR(X) + 1) = "غ" Then
                    ALL_LESS = ALL_LESS & .Cells(NAM_ROW, ARRYS(X)) & " - "
                    GoTo 86
                Else
                    GoTo 86
                End If
            End If
            If .Cells(R, ARR(X)) < .Cells(LESS_ROW, ARR(X)) Or .Cells(R, ARR(X)) = "غ" _
               Or .Cells(R, ARRY(X)) < .Cells(LESS_ROW, ARRY(X)) Or .Cells(R, ARRY(X)) = "غ" Then
                ALL_LESS = ALL_LESS & .Cells(NAM_ROW, ARRYS(X)) & " - "
            End If
86      Next X
        '_____________________________________________________

        If ALL_LESS = "" Then
            If .Cells(R, GENDER) = 1 Then .Cells(R, STATUS) = "ناجح "
            If .Cells(R, GENDER) = 2 Then .Cells(R, STATUS) = "ناجحة "
            If .Cells(R, GENDER) = 1 Then .Cells(R, 102) = "ومنقول " & INFO.Range("B14")
            If .Cells(R, GENDER) = 2 Then .Cells(R, 102) = "ومنقولة " & INFO.Range("B14")
        ElseIf ALL_LESS <> "" Then
            If .Cells(R, GENDER) = 1 Then .Cells(R, STATUS) = "له دور ثان في"
            If .Cells(R, GENDER) = 2 Then .Cells(R, STATUS) = "لها دور ثان في"
            .Cells(R, 102) = Left(ALL_LESS, Len(ALL_LESS) - 2)
            ALL_LESS = Empty
        End If
    Next R
    End With
    Application.ScreenUpdating = True
End Sub


كما هو موضح اماكن التعديل بالكود

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

تعديل اخر للكود ليتماشى مع نظام المدارس اكثر 


التعديل يشمل الرسوب باقل من ثلث الدرجة للفصل الدراسي الثاني 
واذا تغيب الطالب في كل المواد او مجموع كل المواد صفر يصبح الطالب غائب 

الكود
 Sub YASSER_ELARABY()  
 'YASSER_ELARABY  
   Dim ARR  
   Dim ARRY  
   Dim ARRYS  
   '___________________________________________  
   Dim R As Long  
   Dim X As Long  
   Dim XX As Byte  
   Dim ALL_LESS As String  
   '___________________________________________  
   Const STATUS As Byte = 101  'عمود الحالة ناجح او دور ثان  
   Const NOTES As Byte = 102 ' عمود الملاحظات عمود المواد او منقول للصف ا لاخر  
   Const GENDER As Byte = 112 ' عمود الجنس ذكر او انثى  
   '_____________________________________________________  
   Const LESS_ROW As Byte = 6 'صف الدرجة الصغرى  
   Const NAM_ROW As Byte = 2  'صف اسماء المواد  
   Const NAME_FIRST As Byte = 7 ' اول صف لاسماء الطلاب  
   Const NAME_LAST As Long = 206 + NAME_FIRST ' عدد الطلاب  
   '_____________________________________________________  
   ARR = Array(9, 18, 27, 36, 46, 52, 54, 59, 64, 69, 78) ' اعمدة اختبار الفصل الدارسي الثاني لجميع المواد  
   ARRY = Array(13, 22, 31, 40, 51, 52, 57, 62, 67, 72, 82) 'اعمدة الدرجة النهائية لجميع المواد  
   ARRYS = Array(5, 14, 23, 32, 41, 52, 53, 58, 63, 68, 74) 'اعمدة اسماء كل المواد  
   '_____________________________________________________  
   With Sheet2  'اسم شيت البيانات  
     Application.ScreenUpdating = False  'الغاء تحديث الشاشة  
     Application.Calculation = xlManual  ' ايقاف الحساب التلقائي  
     For R = NAME_FIRST To NAME_LAST  ' حلقة تكرارية تبدأ بأول اسم طالب الى اخر اسم  
       For X = 0 To UBound(ARR)  ' حلقة تكرارية تبدأ من الصفر الى اقصى مصفوفة اعمدة اختبار الفصل الدارسي الثاني  
         On Error Resume Next  
         '____________________________________________________  
         'يتم حساب عدد ا لمواد المتغيب بها الطالب او درجتها صفر ويتم وضع عدد المواد في المتغير اكس اكس  
         'اذا وصل عدد المواد الى 11 اصبح الطالب متغيب  
         If .Cells(R, ARRY(X)) = 0 Or .Cells(R, ARRY(X)) = "غ" Then  
           XX = XX + 1  
         End If  
         '____________________________________________________  
         'هذا الجزء خاص بمادة العلوم تحديدا الفصل الدراسي الثاني لانه مقسم على عمودين فتم اضافة هذا الجزء ليتم معالجة هذه المرحلة  
         If ARR(X) = 46 Then  
           'لايوجد اختلاف بين هذا الكود وبين الكود الموجود بالاسفل  
           If Val(.Cells(R, ARR(X))) + Val(.Cells(R, ARR(X) + 1)) < Val(.Cells(LESS_ROW, ARR(X))) Or .Cells(R, ARR(X)) = "غ" Or .Cells(R, ARR(X) + 1) = "غ" Then  
             ALL_LESS = ALL_LESS & .Cells(NAM_ROW, ARRYS(X)) & " لثلث الدرجة " & " - ": GoTo 86  
             GoTo 86 'هنا يتم تخطى عمل الكود بالاسفل حتى لايتم معالجة مادة العلوم مرة اخرى  
           Else  
             GoTo 86 'وهنا ايضا يتم تخطى مادة العلوم الى المادة الاخرى  
           End If  
         End If  
         'هنا يتم مقارنة المواد بالدرجة الصغرى الخاصة الفصل الدارسي الثاني في اول الكود او اذا كانت غياب يتم اضافة اسم المادة من صف المواد الى المتغير  
         'ALL_LESS  
         'او مقارنة الدرجة النهائية لكل مادة بالدرجة الصغرى لها او اذا كانت غياب اذا تحقق الشرط فيتم اضافة المادة الى المتغير  
         'ALL_LESS  
         '______________________________________________________  
         If .Cells(R, ARR(X)) < .Cells(LESS_ROW, ARR(X)) Or .Cells(R, ARR(X)) = "غ" Then  
           ALL_LESS = ALL_LESS & .Cells(NAM_ROW, ARRYS(X)) & " لثلث الدرجة " & " - ": GoTo 86  
         End If  
         If .Cells(R, ARRY(X)) < .Cells(LESS_ROW, ARRY(X)) Or .Cells(R, ARRY(X)) = "غ" Then  
           ALL_LESS = ALL_LESS & .Cells(NAM_ROW, ARRYS(X)) & " - "  
         End If  
         '______________________________________________________  
 86     Next X  'الذهاب الى المادة الاخرى لاعادة تطبيق الكود مرة اخرى حتى انتهاء جميع المواد  
       'اذا كان المتغير اكس اكس بيساوي عدد المواد اذن الطالب متغيب  
       If XX = 11 Then ALL_LESS = "غياب ": XX = 0  
       '_____________________________________________________  
       'هنا بعد اكتمال الكود يتم عمل شرط للمتغير  
       'ALL_LESS  
       'اذا كان المتغير فارغ اي لم يتم اضافة اي مواد به اذا الطالب ناجح  
       If ALL_LESS = "" Then  
         If .Cells(R, GENDER) = 1 Then .Cells(R, STATUS) = "ناجح "  'اذا كان نوع الطالب ذكر يتم وضع ناجح  
         If .Cells(R, GENDER) = 2 Then .Cells(R, STATUS) = "ناجحة "  'اذا كانت انثى يتم وضع ناجحه  
         If .Cells(R, GENDER) = 1 Then .Cells(R, NOTES) = "ومنقول " & INFO.Range("B14")  'ويتم وضع في الملاحظات منقول الى ويتم جلب الصف من صفحة الانفو  
         If .Cells(R, GENDER) = 2 Then .Cells(R, NOTES) = "ومنقولة " & INFO.Range("B14")  'مثل ماسبق  
         'اما اذا كان المتغير يحمل اي بيانات لمواد يصبح الطالب له دور ثان  
       ElseIf ALL_LESS <> "" Then  
         If .Cells(R, GENDER) = 1 Then .Cells(R, STATUS) = "له دور ثان في"  'مثل ما سبق بخصوص النوع  
         If .Cells(R, GENDER) = 2 Then .Cells(R, STATUS) = "لها دور ثان في"  '  
         .Cells(R, NOTES) = Left(ALL_LESS, Len(ALL_LESS) - 2)  'هنا يتم وضع قيمة المتغير اي المواد في خلية الملاحظات  
         ALL_LESS = Empty  'تفريغ المتغير لاعادة تعبئة اسم طالب اخر  
       End If  
       '_____________________________________________________  
     Next R  'الذهاب الى الصف التالي حتى انتهاء عدد الطلاب  
   End With  
   Application.ScreenUpdating = True  'اعادة تحديث الشاشة  
   Application.Calculation = xlAutomatic  'تشغيل الحساب التلقائي  
 End Sub  

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


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

انتحار جماعي لكل ملفات الاكسيل في مسار معين حسب شرط معين

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



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

ثانيا

نضع لكم كود لحذف جميع ملفات الاكسيل من مسار معين عند فتح ملف اكسيل وتحقق الشرط المحدد

الكود في حدث فتح المصنف

 Sub Clear_All_Files_And_SubFolders_In_Folder()  
 Dim FSO As Object  
 Dim MyPath As String  
 If Date > DateValue("15/9/2016") Then  
 Set FSO = CreateObject("scripting.filesystemobject")  
 MyPath = "D:\Yasser" '<<مسارالملفات والفولدرات المرادمسحهم  
 If Right(MyPath, 1) = "\" Then  
 MyPath = Left(MyPath, Len(MyPath) - 1)  
 End If  
 If FSO.FolderExists(MyPath) = False Then  
 'MsgBox MyPath & " doesn't exist"  
 Exit Sub  
 End If  
 On Error Resume Next  
 FSO.deletefile MyPath & "\*.xl*", True 'مسح ملفات الاكسيل اذاكانت تريد مسح جميع الملفات ضع * بدلا من الاكسيل  
 ' FSO.deletefolder MyPath & "\*.*", True' اذا كنت تريدمسح كل الفولدرات الموجودة داخل المسار المحدد  
 On Error GoTo 0  
 End If  
 End Sub 0

كل ما عليكم هو التعديل على المسارات المطلوبة

لتحميل الملف من هنا

ومن الممكن حذف اي ملفات اخرى غير الاكسيل فقط يتم تحديد امتداد الملفات بالكود 

وشكرا

انتحار ملف الإكسيل Kill Workbook From HD لابو البراء

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


KILL Workbook


اثراء لموضوع اخي الكريم ابو البراء قمت بتعديل الكود لمعرفة رقم الهارد الفزيكال

اولا هذا الكود نضعه في موديول 

 Function GetPhysicalSerial() As Variant  
   Dim obj As Object  
   Dim WMI As Object  
   Dim SNList() As String, i As Long, Count As Long  
   Set WMI = GetObject("WinMgmts:")  
   For Each obj In WMI.InstancesOf("Win32_PhysicalMedia")  
     If obj.SerialNumber <> "" Then Count = Count + 1  
   Next  
   ReDim SNList(1 To Count, 1 To 1)  
   i = 1  
   For Each obj In WMI.InstancesOf("Win32_PhysicalMedia")  
     SNList(i, 1) = obj.SerialNumber  
     i = i + 1  
     If i > Count Then Exit For  
   Next  
   GetPhysicalSerial = SNList  
 End Function  

ثم نضع هذا الكود في حدث فتح المصنف مع مراعاة تغيير مكان الخلية التى يتم وضع السيريال بها

 Private Sub Workbook_Open()  
   Range("A1") = GetPhysicalSerial  
   If Range("A1") <> "31534756394a5a41304237333634202020202020" Then 'هنا نضع رقم الهارد الفيزيكال  
     With ThisWorkbook  
       .Save  
       .ChangeFileAccess Mode:=xlReadOnly  
       Kill .FullName  
       .Close SaveChanges:=False  
     End With  
   End If  
 End Sub  

لتحميل الملف من هنا


كل ما عليكم ازالة العلامات المؤشر اسفلها بالاحمر ليعمل الكود

مع مراعاة تغيير رقم السيريال

في اول الامر نقوم بازالة اول علامة فقط ونحفظ الملف ونفتحه مرة اخرى سيظهر لنا رقم الهارد في الخلية A1

نقوم بنسخه الى الكود مكان الرقم الاخر ونقوم بازالة كل العلامات من امام الكود

وشكرا


فرز الملفات بانشاء لكل قسم فولدر ونقل الملفات لكل قسم خاص بها VBA

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


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

  الخاص بهذه الصورة وفي المثال المرفق لدينا مثلا ثلاثة اقسام قسم الرياضة وقسم السينما وقسم التكنولوجيا

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

 هذه صورة البيانات بالشيت

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

وهذه الصورة بعد تنفيذ الكود وانشاء فولدرات لكل قسم ونقل الصور لكل قسم خاص بها

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

 Sub Yasser()  
   Dim FLDR As Object  
   Dim LR As Long  
   Dim fldrname As String  
   Dim fldrpath As String  
   On Error Resume Next  
   LR = Cells(Rows.Count, 2).End(xlUp).Row  
   For X = 2 To LR  
     Set FLDR = CreateObject("scripting.filesystemobject")  
     fldrname = Range("B" & X).Text & "\"  
     fldrname2 = Range("A" & X).Text & ".BMP"  
     fldrpath = ThisWorkbook.Path & "\" & fldrname  
     If Not FLDR.folderexists(fldrpath) Then  
       FLDR.createfolder (fldrpath)  
     End If  
     FLDR.MoveFile Source:=ThisWorkbook.Path & "\" & fldrname2, Destination:=fldrpath  
   Next  
   MsgBox "تم معالجة البيانات"  
 End Sub  


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


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

الوارد اولا صادر اولا (first in first out (FIFO

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


نظرا لاهتمام بعض الاخوة بموضوع الوارد اولا صادر اولا (FIFO) 

قمنا بعمل مثال بالاكواد  

لحل هذه المشكلة 

المثال يعتمد على اعمدة مساعدة ويتم مسح البيانات منها بعد الانتهاء 




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

 Sub YasserFIFO()  
   Dim z As Byte  
   'Yasserelaraby86@gmail.com  
   '+201097192367  
   Application.ScreenUpdating = False  
   Range("K6:K23").ClearContents  
   Range("D6:E23").Copy Range("R1")  
   Range("r1:s18").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp  
   Range("G6:G23").Copy Range("T1")  
   z = 1  
   For Each x In Range("g6:g23")  
     If x.Value <> "" Then  
       If x.Value <= Cells(z, 18) Then  
         Cells(x.Row, 11) = Cells(z, 19) * x.Value  
         Cells(z, 18) = Cells(z, 18) - x.Value  
       ElseIf x.Value > Cells(z, 18) Then  
 3        Cells(x.Row, 11) = Cells(x.Row, 11) + (Cells(z, 18) * Cells(z, 19))  
         x.Value = x.Value - Cells(z, 18)  
         Cells(z, 18) = 0  
         For z = 1 To 20  
           If Cells(z, 18) = 0 Then GoTo 1  
           If Cells(z, 18) > x.Value Then GoTo 2  
           If Cells(z, 18) < x.Value Then GoTo 3  
 1        Next z  
 2        Cells(x.Row, 11) = Cells(x.Row, 11) + (Cells(z, 19) * x.Value)  
         Cells(z, 18) = Cells(z, 18) - x.Value  
       End If  
     End If  
   Next  
   Range("T1:T18").Copy Range("G6:G23")  
   Range("R1:T18").Clear  
   Range("a1").Activate  
   Application.ScreenUpdating = True  
 End Sub  

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

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


تصدير بيانات من اكسيل الى وورد Export to Word

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


اقدم لكم كود للتصدير الى الوورد من الاكسيل  

يتم تصدير البيانات الي ملف وورد في نفس مسار ملف الاكسيل 

كل ما عليك هو تغيير مسار الحفظ 

او تغيير النطاق المراد تصديره  

كود التصدير
 Sub Button1_Click()  
   Dim WdObj As Object, fname As String  
   fname = "Yasser"  
   Set WdObj = CreateObject("Word.Application")  
   WdObj.Visible = False  
   Range("A1:G30").Select  
   Selection.Copy  
   WdObj.Documents.Add  
   WdObj.Selection.PasteSpecial Link:=False, _  
                  DataType:=wdPasteText, Placement:= _  
                  wdInLine, DisplayAsIcon:=False  
   Application.CutCopyMode = False  
   If fname <> "" Then  
     With WdObj  
       .ChangeFileOpenDirectory "" & ThisWorkbook.Path & ""  
       .ActiveDocument.SaveAs Filename:=fname & ".doc"  
     End With  
   Else:  
     MsgBox ("File not saved, Try again.")  
   End If  
   With WdObj  
     .ActiveDocument.Close  
     .Quit  
   End With  
   Set WdObj = Nothing  
 End Sub  


___________________________________________


ادخال - بحث واستدعاء في ليست بوكس- تعديل - تقرير بحث - حذف

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


اقدم لكم اليوم برنامج لادخال البيانات والبحث عنها باي شرط بحث حسب رغبتكم وعرض  النتائج داخل ليست بوكس

ويمكنكم التعديل على اي بيان وايضا يمكنكم عرض تقرير عن اي بحث  داخل شيت مستقل

وامكانية حذف بيان غير مرغوب به من شيت البيانات

طريقة العمل كالاتي


لادخال البيانات تكتب في اسفل الفورم داخل التكست بوكس ونتجاهل الخاصة بالصف  لانها ضمن اعدادات البحث ونضغط علي اضافة

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

للتعديل على صف يتم الضغط دبل كليك  علي الصف داخل الليست بوكس ليرحل الى التكست بوكس اسفل الفورم ومن ثم التعديل والضغط على تعديل

وللحذف يتم الضغط دبل كليك على الصف داخل الليست بوكس ليرحل الى التكست بوكس اسفل الفورم ومن ثم الضغط على حذف

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


صورة الفورم



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

 Private Sub CommandButton1_Click()  
   Dim LastRow As Integer  
   Dim ii As Integer  
   With Sheets("Data")  
     LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row + 1  
     .Cells(LastRow, 2).Value = TextBox3.Text  
     .Cells(LastRow, 3).Value = TextBox4.Text  
     .Cells(LastRow, 4).Value = TextBox5.Text  
     .Cells(LastRow, 5).Value = TextBox6.Text  
     .Cells(LastRow, 6).Value = TextBox7.Text  
     .Cells(LastRow, 7).Value = TextBox8.Text  
     .Cells(LastRow, 8).Value = TextBox9.Text  
     .Cells(LastRow, 9).Value = TextBox10.Text  
   End With  
   For ii = 2 To 10  
     Me.Controls("TextBox" & ii).Value = ""  
   Next  
 End Sub  
 Private Sub CommandButton2_Click()  
   On Error Resume Next  
   ii = 2  
   For i = 0 To Me.ListBox1.ColumnCount  
     Me.ListBox1.List(ListBox1.ListIndex, i) = Me.Controls("TextBox" & ii).Value  
     ii = ii + 1  
   Next  
   With Sheets("Data")  
     .Cells(TextBox2, 2).Value = TextBox3.Text  
     .Cells(TextBox2, 3).Value = TextBox4.Text  
     .Cells(TextBox2, 4).Value = TextBox5.Text  
     .Cells(TextBox2, 5).Value = TextBox6.Text  
     .Cells(TextBox2, 6).Value = TextBox7.Text  
     .Cells(TextBox2, 7).Value = TextBox8.Text  
     .Cells(TextBox2, 8).Value = TextBox9.Text  
     .Cells(TextBox2, 9).Value = TextBox10.Text  
   End With  
 End Sub  
 Private Sub CommandButton3_Click()  
   Sheets("Data").Rows(TextBox2).Delete Shift:=xlUp  
   On Error Resume Next  
   ii = 2  
   For i = 0 To Me.ListBox1.ColumnCount  
     Me.ListBox1.List(ListBox1.ListIndex, i) = ""  
     Me.Controls("TextBox" & ii).Value = ""  
     ii = ii + 1  
   Next  
 End Sub  
 Private Sub CommandButton4_Click()  
   With Sheets("report")  
     .Range("b3:i200").ClearContents  
     Z = 3  
     For V = 0 To ListBox1.ListCount - 1  
       .Cells(Z, 2).Value = ListBox1.List(V, 1)  
       .Cells(Z, 3).Value = ListBox1.List(V, 2)  
       .Cells(Z, 4).Value = ListBox1.List(V, 3)  
       .Cells(Z, 5).Value = ListBox1.List(V, 4)  
       .Cells(Z, 6).Value = ListBox1.List(V, 5)  
       .Cells(Z, 7).Value = ListBox1.List(V, 6)  
       .Cells(Z, 8).Value = ListBox1.List(V, 7)  
       .Cells(Z, 9).Value = ListBox1.List(V, 8)  
       Z = Z + 1  
     Next  
   End With  
 End Sub  
 Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)  
   On Error Resume Next  
   ii = 2  
   For i = 0 To Me.ListBox1.ColumnCount  
     Me.Controls("TextBox" & ii).Value = Me.ListBox1.List(ListBox1.ListIndex, i)  
     ii = ii + 1  
   Next  
 End Sub  
 Private Sub TextBox1_Change()  
   On Error Resume Next  
   Dim ws As Worksheet  
   Dim V As Integer  
   Dim LastRow As Integer  
   Dim M As String  
   Dim Q, F  
   ListBox1.Clear  
   If TextBox1.Text = "" Then GoTo 1  
   M = TextBox1.Text  
   Set ws = Sheets("Data")  
   With ws  
     x = ComboBox1.ListIndex + 2  
     LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row  
     Set Q = Range(.Cells(2, x), .Cells(LastRow, x)).Find(M)  
     If Not Q Is Nothing Then  
       F = Q.Address  
       Do  
         If Application.WorksheetFunction.Search(M, Q, 0) = 1 Then  
           ListBox1.AddItem Q.Row  
           ListBox1.List(V, 1) = .Cells(Q.Row, 2).Value  
           ListBox1.List(V, 2) = .Cells(Q.Row, 3).Value  
           ListBox1.List(V, 3) = .Cells(Q.Row, 4).Text  
           ListBox1.List(V, 4) = .Cells(Q.Row, 5).Value  
           ListBox1.List(V, 5) = .Cells(Q.Row, 6).Value  
           ListBox1.List(V, 6) = .Cells(Q.Row, 7).Value  
           ListBox1.List(V, 7) = .Cells(Q.Row, 8).Value  
           ListBox1.List(V, 8) = .Cells(Q.Row, 9).Value  
           V = V + 1  
         End If  
         Set Q = Range(.Cells(2, x), .Cells(LastRow, x)).FindNext(Q)  
       Loop While Not Q Is Nothing And Q.Address <> F  
     End If  
   End With  
 1 End Sub  


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

تحياتي

ما هو تطبيق أوفيس السحابي أوفيس 365


 ما هو تطبيق أوفيس السحابي أوفيس 365
 Office 365 عبارة عن احدى اهم تطبيقاتMicrosoft Online فى مجال الCloud Computing مع انة منتج جديد وصدر منذ فترة قصيرة لكنه يعتبر من اقوى خدمات ال Cloud Computing على الانترنت ومنافس قوى لتطبيقات اخرى مثل Google Docs

البرنامج عبارة عن تقديم خدمات (Email and Calendar – Messenger – Conference – Office App – SharePoint Site) مجتمعين من خلال باقة واحده ومرتبطين مع بعض فى نفس اسم الدومين وحسابات اليوزر .. بمعنى اخر مايكروسوفت تقوم بعمل لك Domain Name باسمك وعمل User Account وعمل لهم ايميلات وماسنجر وشيربوينت لهم على سيرفرات مايكروسوفت وما عليك الا ان تقوم بادارة هذا الحساب من خلال صفحة ويب بسيطة

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

خدماتة ووظائفة

هذا التطبيق من مايكروسوفت يقدم العديد من الخدمات المهمة التى لا يمكن الاستغناء عنها فى العمل لاى شركة بغض النظر عن حجمها سواء كانوا 5 مستخدمين الى 50 الف مستخدم. سوف نوضح الخدمات وبجوارها اسم التطبيق الذى يمكنة ان يقدم نفس هذه الخدمة على السيرفرات المحلية فى الداتا سنتر الخاصة بك.

1- عمل Email Account and Calendar لكل موظف فى الشركة ونحدد له اسم الدومين واليوزر نام والباسورد الخاصة بة وتحديد حجم الايميل . يمكن فتح هذا الايميل من خلال صفحة الويب او من خلال ال outlook او من خلال الموبيل من خلال خدمة ال Push Mail .
 Same (Exchange Server 2010)

2- عمل Messenger وهوا عبارة عن برنامج محادثة بين المستخدمين داخل الشركات والعملاء خارجها ويمكن من خلاله عمل Conference Meeting للعملاء والموظفين على الانترنت. من النقاط الرائعه هنا ان هذا الماسنجر الخاص باسم شركتك يمكنك ان تضيف فى قائمة محادثتك اشخاص من مواقع اخرى مثل ماسنجر MSN and Yahoo
 same (Lync2010)

3- عمل Conference عن طريق برنامج Live Meeting لعمل مؤتمرات للموظفين والعملاء
same (Live Meeting)

4- عمل SharePoint Web Site وهذة الخدمة لها فائدتان الاولى يمكن من خلالها عمل Website تعريفى بالشركة والفائدة الثانية الاستفادة من خدمات برنامج ال SharePoint
Same (SharePoint 2010)
( من لا يعرف خدمات هذا التطبيق هى باختصار = Document Library- Photo Library –Calendar –Task – Contact List – Social Network – Forum and others)

5- استخدام Office Web App وهو عبارة عن المقدرة على استخدام تطبيقات ال office ببرامجه مثل (word- Excel –PowerPoint – Access) بدون ما تكون هذه البرامج قمت بعمل Install لها على جهازك انما تستخدممها بنظام مشابه لل Terminal App
Same (Office 2010)

6- Mobility وهى القدرة على العمل على كل الخدمات السابقه من خلال الموبيل الخاص بك وتستطيع فتح الايميل والموقع وملفات العمل وغيرها
Same (Windows Mobile)

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



فكرة العمل

فكرة عمل هذا التطبيق ان مايكروسوفت تقوم بعمل سيرفرات داخل الداتا سنتر الخاصة بها وموجود عليها البرامج التالية:
(Exchange Mail – SharePoint – Lync – Mobile Service – Office App)
ثم عمل اسم دومين لكل عميل داخلها عن طريق خاصية ال Accepted domain لديها وتعطيك فقط لوحة تحكم عن طريق الويب تقوم من خلالها بعمل اداره للخدمة.

 كل هذة السيرفرات موجودة بالكامل داخل الداتا سنتر الخاصة بمايكروسوفت وهى المسئولة عن ادارتها وصيانتها وعمل نسخ احتياطى لها وعدم حدوث لهاDowntime الا بالنسبة لمستوى الخدمة المتفق علية SLA

وهذه اهم نقطة واهم فائدة انك لا تحتاج الى بنية اساسية من السيرفرات والداتا سنتر لكى تستطيع بناء كل هذة البرامج والتطبيقات غالية الثمن وتحتاج الى مهندسين لادرتها وصيانتها ومتابعتها بشكل يومى

وبالنسبة End User المستخدم لهذة الخدمات ال يستطيع ان يستفيد من كل هذة الخدمات من خلال برنامج يمكن ان نعتبره Client من خلاله يمكنه ان يدير كل هذه الخدمات وتستفيد منها مع ملاحظة ان كل هذة الخدمات نستخدمها بحساب واحد فقط وليس لكل تطبيق حساب خاص بة

ملحوظة: من مميزات الايميل فى ال office365 انة يمكنك عمل نسخة منة على سيرفر ال Exchange المحلى داخل شركتك وبذلك يكون عندك نسختين من الايميل نسخة فى الداتا سنتر الخاصة بمايكروسوفت ونسخة فى الداتا سنتر الخاصة بك

وبالطبع هذا سوف يحتاج الى خدمة ال Active Directory Sync التى سوف تتم تقوم بعمل مبادلة الداتا الخاصة بالUser account بين الدومين الخاص بك الداخلى وبين الدومين التى قامت بمايكروسوفت بعملة لك داخل حسابك لديها

وهذا مثال واقعى لمصطلحين هامين وهما ال Public cloud and Private Cloud والربط بينهم




الاشتراك فى خدمة : Office 365

هذة الخدمة ليست مجانية وانما لها مقابل شهرى على حسب الخطة التى سوف تختارها من خطط مايكروسوفت وعدد اليوزر الذى سوف تحتاج عمل لهم account ويوجد فى موقع هذة الخدمة اله حاسبة تقوم بعمل لك حساب لتكلفة هذة الخدمة عن طريق ادخال عدد اليوزر والخطة التى تريدها




ما الفرق بين أوفيس 2013 و أوفيس 365؟

مايكروسوفت أطلقت حزمة Office 2013 قبل عدة أيام كما ذكرنا ويبدأ سعره بـ 139.99 دولار لإصدارة Home and Student و 219.99 لإصدارة  Home and Business و 399.99 لإصدارة  Professional.
وقد أطلقت مايكروسوفت أيضاً حزمة Office 365 في نفس اليوم ولكن مالفرق بينها وبين Office 2013؟

عندما تشتري أوفيس 2013 بأي إصدارة فإنك تدفع مرة واحدة فقط بحيث تصبح هذه النسخة ملكاً لك بدون مدة محددة ويمكنك تثبيتها واستعمالها في جهاز واحد فقط.
ولكن عندما تدفع لاستخدام أوفيس 365، فإنك فعلياً لا تمتلك هذه النسخة، بل هي عبارة عن استئجار النسخة لاستعمالها في خمسة أجهزة كحد أقصى لمدة محددة بمبلغ 9.99 دولار شهرياً أو 99.99 دولار سنوياً سواءً استخدمتها في جهاز واحد أو خمسة أجهزة.



ماهي البرامج التي تأتي مع كل إصدارة من أوفيس 2013؟

إصدارة Office Home and Student 2013 تحتوي على برامج   Word, Excel, PowerPoint, OneNote
إصدارة Office Home and Business 2013 تحتوي على نفس برامج النسخة السابقة بالإضافة إلى برنامج الـ  Outlook.
إصدارة Office Professional 2013 تحتوي على نفس برامج نسخة Home and Business بالإضافة إلى Publisher  وAccess.

كما يمكن شراء برنامج واحد فقط سواءً كان Word أو Excel مثلاً بمبلغ 109.99 دولار باستثناء OneNote الذي يمكن شراؤه لوحده بمبلغ 69.99 دولار.



ما هو الجديد في أوفيس 2013؟

أوفيس 2013 يأتي بتصميم جديد متناسق مع تصميم الويندوز 8 ويدعم شاشات اللمس.  كما أنه يدعم بشكل كبير مشاركة الملفات بين المستخدمين أونلاين وعبر خدمة SkyDrive السحابية مباشرة كما تم تبسيط واجهة الآوتلوك وتم إضافات تحسينات وإضافات في كل برامج الأوفيس.



ماذا عن الأوفيس 365؟

كما ذكرنا، أوفيس 365 يمكن استخدامه في خمسة أجهزة كمبيوتر وماك أيضاً كحد أقصى بسعر 9.99 دولار شهرياً أو 99.99 دولار سنوياً وهذه الأسعار لإصدارة Office 365 Home Premium حيث تتوفر إصدارات للشركات وهيOffice 365 Small Business Premium و Office 365 Enterprise  و Office 365 ProPlus وبأسعار مختلفة.

لهذا أوفيس 365 أفضل بكثير للذين يملكون عدة أجهزة في البيت حيث نفترض أن شخصاً يملك 4 أجهزة في البيت.  استخدام أوفيس 365 لمدة سنة لهذه الأجهزة الأربعة سيكلفه 99.99 دولار بمعدل 25 دولار سنوياً لكل جهاز بينما لو اشترى إصدارة Office Home and Student 2013  بمبلغ 139.99 دولار لكل جهاز فسيكلفه ذلك 559.96 دولار.



ماهي المزايا الإضافية التي يحصل عليها مستخدمو أوفيس 365؟

حزمة أوفيس 365 تشمل كل برامج الأوفيس وهي Word, Excel, PowerPoint, OneNote, Outlook, Access, and Publisher. كما أنها تعطي المستخدم مساحة مجانية 20GB  في خدمة SkyDrive و 60 دقيقة من الإتصال الدولي شهرياً عبر خدمة Skype وإمكانية استخدام خدمة Office on Demand.  لايمكن اختيار برنامج واحد في الأوفيس 365 لاستئجاره حيث يجب استئجار الحزمة كاملة.



ماهي خدمة  Office on Demand؟

هي خدمة تمكن مستخدمي الأوفيس 365 من استعمال أي برنامج من حزمة الأوفيس مثل الإكسل في كمبيوتر آخر ليس لك مثل كمبيوتر صديقك بشكل مؤقت بحيث يتوقف عن العمل في هذا الكمبيوتر بعد انتهائك منه ولا يحتسب ضمن الأجهزة المرخصة لاستعمال نسختك من الأوفيس 365 ويتم ذلك عبر تحميل نسخة افتراضية(virtual) من هذا البرنامج مؤقتاً في جهاز صديقك.

هذه الخدمة تعمل فقط  في أجهزة الويندوز وهي غير متوفرة في أجهزة الماك أو اللينوكس أو الكروم بوك أو الهواتف الذكية حالياً كما أنها أبطأ من استخدام الأوفيس 365 مباشرة في جهازك.


 



ما هو Office 365؟ كيف يختلف عن Microsoft Office؟

يشير "Office 365" إلى خطط الاشتراك التي تتضمن إمكانية الوصول إلى تطبيقات Office إضافة إلى خدمات أخرى ممكّنة عبر

 الإنترنت (خدمات السحابة)، مثل خدمة مؤتمرات الويب في Lync والبريد الإلكتروني المستضاف علىExchange 

Online للأعمال والتخزين الإضافي عبر الإنترنت مع OneDrive والدقائق الدولية لمستخدمي Skypeللمنزل.

يتضمن العديد من خطط Office 365 أيضاً إصدار سطح المكتب لتطبيقات Office الأخيرة، ويستطيع المستخدمون تثبيته عبر 

أجهزة كمبيوتر وأجهزة أخرى متعددة. وتشكّل خطط Office 365 المتوفرة عبر الإنترنت فقط خياراً ممتازاً لبعض احتياجات العمل 
وهي متوافقة مع إصدارات سطح المكتب الخاص بالإصدار الأخير من Office وOffice 2010وOffice 2007 (بوظائف محددة 

بعض الشيء) وOffice 2011 لـ Mac وOffice 2008 لـ Mac.

يتم الدفع مقابل الحصول على خطط Office 365 على أساس الاشتراك، سواء كان شهرياً أو سنوياً.

"Microsoft Office" هو الاسم الذي ما زلنا نستخدمه لبرنامج الإنتاجية المعروف الخاص بنا. تضم مجموعات 

برامجOffice عادةً تطبيقات مثل Word وExcel وPowerPoint وOutlook. أما مجموعات برامج Office الجديدة (على سبيل

 المثال، Office Standard 2013) فتضم أحدث إصدارات من هذه التطبيقات. يمكن تثبيت مجموعات البرامج هذه على كمبيوتر 

شخصي واحد فقط وهي لا تتضمن أي خدمة من الخدمات المستندة إلى السحابة والمضمنة في Office 365.  


هل يعمل Office 365 مع إصدار Office المتوفرة لدي؟

يعمل Office 365 بشكل أفضل مع أحدث إصدار من Office وOffice 2010 وOffice 2011 for Mac

وتكون وظائفOffice 365 محددة بعض الشيء في حال العمل مع Office 2007. إذا كان لديك إصدار 

سابق من Office، فيجب عليك التحديث إلى إصدار أحدث منه لكي تتمكن من استخدام Office 365، 

أو يمكنك الاشتراك في إحدى خططOffice 365 المتعددة التي تضم أحدث إصدار من Office. وبالإضافة 

إلى الحصول على أحدث إصدار من Office كجزء من اشتراكك، ستحصل أيضاً على تحديثات تلقائية 

بحيث يتم تحديث Office باستمرار.

هل يتطلب Office 365 اتصالاً بالإنترنت؟

الاتصال بالإنترنت مطلوب لتثبيت كافة خطط Office 365 وتنشيطها ولإدارة حساب الاشتراك الخاص بك. وهو أيضاً مطلوب للوصول إلى خدمات الإنتاجية في Office 365 المستندة إلى السحابة، بما في ذلك البريد الإلكتروني والمؤتمر وإدارة تكنولوجيا المعلومات وخدمات أخرى.
يتضمن العديد من خطط Office 365 أيضًا إصدار سطح المكتب من Office، على سبيل المثال "‏Office 365 Business  فائق الجودة" و Office 365 Enterprise E3. وتتمثل إحدى فوائد الحصول على إصدار سطح المكتب من تطبيقات Office في إمكانية العمل دون اتصال مع الاطمئنان إلى أنه ستتم مزامنة عملك تلقائيًا في المرة التالية التي تتصل فيها بالإنترنت، لذا لا داعي للقلق بشأن عملية تحديث مستنداتك. ويتم تحديث إصدار سطح المكتب من Office تلقائياً وباستمرار وتتم ترقيته عند الاتصال بالإنترنت بحيث تتوفر لديك أحدث الأدوات بشكل دائم لمساعدتك على العملمقارنة خطط Office 365.

 ما هي السحابة؟

"السحابة" هي طريقة سهلة لوصف خدمات الحوسبة المستندة إلى ويب والتي تتم استضافتها خارج المؤسسة. عند استخدام خدمات مستندة إلى السحابة، تكون البنية الأساسية لتكنولوجيا المعلومات خارج نطاق ملكيتك (خارجية)، وتتم صيانتها بواسطة جهة خارجية (مستضافة)، بدلاً من تواجدها على خادم في منزلك أو عملك (داخلية) تقوم بصيانته بنفسك. باستخدام Office 365، على سبيل المثال، يتم وضع مخزن المعلومات والحساب والبرامج وإدارتها عن بُعد على خوادم تملكها Microsoft. ويشكل العديد من الخدمات التي تستخدمها يومياً جزءاً من السحابة—بدءاً بالبريد الإلكتروني المستند إلى ويب ووصولاً إلى الخدمات المصرفية عبر الهاتف الجوال وتخزين الصور على الإنترنت. وبسبب تواجد البنية الأساسية هذه على الإنترنت أو "في السحابة"، يمكنك الوصول إليها من أي مكان تقريباً، من كمبيوتر شخصي أو كمبيوتر لوحي أو هاتف ذكي أو أي جهاز آخر يتوفر فيه اتصال بالإنترنت.


 ما هو عدد المستخدمين الذين يمكنهم استخدام Office 365؟

إن Office 365 قابل للتوسع بشكل كبير ويمكنه دعم مختلف أحجام الشركات بدءاً من شركة تضم شخصاً واحداً ووصولاً إلى شركات تضم عشرات آلاف المستخدمين:
تُعد خطط Office 365 Business مثالية للشركات التي يتراوح عدد المستخدمين فيها من واحد إلى 300 مستخدم.
تناسب خطط Office 365 Enterprise المؤسسات التي يترواح حجمها بين موظف واحد وأكثر من 50 ألف مستخدم. يمكنك مقارنة كل الخيارات هنا.


 ما تطبيقات الهواتف الجوالة المتاحة لـ Office؟

يوفر Office التطبيقات التالية:

Office Mobile يكون Office Mobile مثبتاً مسبقًا على Windows Phone 8. ويوفر Office Mobile قدرات مذهلة لعرض محتوى Office وتحريره أثناء التنقل. يمكنك الاعتماد على Office Mobile للحفاظ على المحتوى والتنسيق بحيث يبدو المستند رائعًا عندما تعاود استخدام الكمبيوتر الشخصي أو جهاز Mac الخاص بك مرة أخرى.
لكي تتمكن من تحرير المستندات أو إنشائها أو الوصول إلى المستندات المخزنة في SharePoint وOneDrive for Business  في مكان العمل، يجب أن تكون لديك خطة Office 365 مؤهلة: Office 365 Business أو Office 365 Business فائق الجودة أو Office 365 Enterprise أو Office 365 Enterprise E3 وE4 (تسعير الحكومة) أو Office 365 Government E3 وE4 أو Office 365 Education E3 وE4 للطلاب أو Office 365 Education E3 وE4 لهيئة التدريس أو Office 365 ProPlus أو Office 365 University.

Outlook Mobile:  يتضمن Windows Phone 8 إصدارًا مثبتًا مسبقًا من Outlook يمكنك استخدامه للوصول إلى البريد الإلكتروني الخاص بك على Outlook.com أو Office 365 أو Exchange.

OneNote:  يمكنك استخدام تطبيق OneNote المحمول للوصول إلى ملاحظاتك أثناء التنقل. يتوفر هذا التطبيق على هواتف Windows Phone 8.
OWAإذا كان لديك اشتراك Office 365 يتضمن  Exchange Online، فيمكنك استخدام تطبيق OWA لفرز رسائل البريد الإلكتروني وفحصها والرد عليها ومتابعة جدول الأعمال.

Lync Mobile:  إذا كانت مؤسستك تستخدم أحدث إصدار من  Lync ، فيمكنك استخدام تطبيق Lync المحمول للبقاء على اتصال أثناء استخدام جهازك المحمول. يتوفر هذا التطبيق على هواتف Windows Phone 8.

SharePoint Newsfeed إذا كانت مؤسستك تستخدم أحدث إصدار من SharePoint، فيمكنك استخدام تطبيقSharePoint Newsfeed‏ للوصول إلى ملف الأخبار من جهازك المحمول. يتوفر هذا التطبيق على هواتف Windows Phone 8.


 ما هي البرامج التي أحتاج إلى تثبيتها عند التسجيل للحصول على Office 365؟

لست بحاجة إلى تثبيت أي برنامج لكي تتمكن من استخدام Office 365.لمساعدتك على تأمين توصيل إصدار سطح المكتب بأحدث إصدار من Office أو Office 2010 أو Office 2007 بـOffice 365  بسهولة، توفر Microsoft لعملاء Office 365 برنامجاً قابلاً للتثبيت يحمل الاسم "Office Desktop Setup"  وذلك بدون أي كلفة.

يوفر Office Desktop Setup فوائد عديدة منها:
الكشف التلقائي عن التحديثات الضرورية.
تثبيت التحديثات والمكونات عند الموافقة أو من سطر أوامر دون مطالبة.
تكوين Outlook وMicrosoft Lync  تلقائياً لاستخدامهما مع Microsoft Office 365.
إزالة تثبيت ذاتية من كمبيوتر العميل بعد التشغيل.
يمكنك العثور على Office Desktop Setup وتثبيته في مركز إدارة Office 365.إذا تضمنت خطتك اشتراكاً في Office، فستتمكن أيضاً من تثبيته مباشرةً من مركز إدارة Office 365.


ماذا لو كنت أملك اسم مجال بالفعل؟

يمكنك إضافة اسم المجال الذي تمتلكه إلى Office 365 لإنشاء عناوين بريد إلكتروني مستندة إلى المجال ابحث عن جهة تسجيل المجال أو موفر استضافة DNS

 هل سيتم نقل المعلومات المتعلقة بالإصدار التجريبي إلى اشتراكي في Office 365؟

نعم. إذا اشتريت تراخيص Office 365 للحسابات التي تقوم بإنشائها أثناء الفترة التجرببية المجانية، فسيتم الاحتفاظ بعملية تكوين حسابات المستخدمين هذه والمعلومات الخاصة بها كما هي. وعند انتهاء صلاحية الإصدار التجريبي المجاني، ستتعذر عليك متابعة استخدام Office 365 مجاناً. سيتم منحك 30 يوماً إضافياً لشراء Office 365 قبل مسح معلومات الحساب الخاص بك. وعندما يتم مسح معلومات الحساب الخاصة بالإصدار التجريبي، لن تتمكن من استردادها.

لمزيد من المعلومات

دروس فيديو  Office 365 Administration
منقول للفائدة

مقالات

أخبار