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

الردود الموصى بها

قام بنشر

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

كل عام وانتم بخير وتقبل الله منا ومنكم صالح الاعمال

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

الطريقة الاولى : هو الذهاب الى File فى حالة 2010 او زر الاوفيس فى حالة 2007 واختيار Options ثم

1- الذهاب الى Customize Ribbon ونختار New Tab

ونلاحظ ظهور شريط او تبويب جديد باسم  (New Tab (custom  وتحته مجموعة Group جديد باسم  (New Group (custom وهذا يكون بشكل افتراضى 

ولتغيير اسم التبويب نحدده ونضغط Rename ونكتب الاسم ولتسمية Group نحددها ونضغط Rename 

2- اضافة الازرار نقوم بعد ذلك باضافة الازرار بواشسظة السحب والالقاء Drag Drop ويمكن ان نختار الازرار التى نريدها من القائمة فى الاعلى والتوضيح فى الصورة

 Options.thumb.png.b03003270e6dc6ad5bc6b8

Untitled.thumb.png.c03db4743e73d88225788

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

3- اذا اردنا ان قوم باضافة زر يقوم بعمل شىء مخصص مثلا يقوم بفتح فورم معين
اولا نقوم بانشاء الماكرو الخاص بالعملية ونسميه مثلا OpenForm والآن نذهب الى Customize ونختار  Macros ثم نضيف الماكرو الذى نريده

Untitled.thumb.png.a1987ce20a4f90f4e6b55

واخيرا يمكن اظهار او عدم اظهار اى من التبويبات باغاء علامة check بجانبها

وهكذا نكون قد انتهينا من الطريقة الاولى

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

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

 

  • Like 2
  • Thanks 1
قام بنشر

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

الآن سنقوم بشرح الطريقة الجديدة لاضافة شريط ادوات باستخدام لغة التوصيف XML 

اولا: نقوم باضافة جدول نظام جديد:
ننشئ جدول فى عرض التصميم وتكون حقوله كالآتى

              Field Name

      Type

   Field Size

                      ID

AutoNumber

Long Integer

            RibbonName

       Text 

        255

             RibbonXml

     Memo

ونسميه USysRibbons ونحفظه نلاحظ اختفاء الجدول وذلك لان الجداول التى تبدأ ب USys او يعتبرها الاكسس من جداول النظام
نفتح الجدول فى طريقة عرض Data Sheet ونضيف اول Tool Bar

نضيف اسم الشريط ثم كود XML وهذا ما سنشرحه فى مشاركة قادمة ان شاء الله

  • Like 2
  • Thanks 1
قام بنشر (معدل)

السلام عليكم

الآن ننتقل الى كود XML وكيفية انشاءه.

كود XML لتخصيص شريط ادوات يبدأ ب

 <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
 <ribbon startFromScratch="false">
  <tabs>
هنا نضع الكود الخاص بانشاء شريط الادوات
  <tabs>
 </ribbon>
 </customUI>

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

 اولا نفتح CustomUI ونغلقه كما بالكود اعلى وبداخله نفتح Ribbon ونغلقه وننتبه لحالة الاحرف 
فى بداية Ribbon نكتب "StartFromScratch="false وهذه الخاصية اذا ضبطت على False تقوم  بعمل الشريط بعد الاشرطة الافتراضية اما True تقوم باخفاء الاشرطة الافتراضية

بعد ذلك نكتب الكود التالى

 <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
 rRibbon startFromScratch="false">
  <tabs>
  <tab id="customTb1"  Label="MY NEW TAB" visible="true"/>
  </tab>
  </tabs>
 </ribbon>
 <CustomUI>

هذا الكود يقوم باضافة tab جديد حيث 

customTb1      المعرف الخاص بالشريط
MY NEW TAB     الاسم الذى يظهر للمستخدم
Visible="true" عملية اظهار الشريط الجديد                  

ثم نقوم باضافة المجموعات الخاصة بالشريط بنفس الطريقة حيث نستبدل TAB ب Group

 <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
 <ribbon startFromScratch="false">
  <tabs>
   <tab id="customTb1"  Label="MY NEW TAB"  visible="true" >
   <Group id="CustomGR1"  Lable="My Group">
   </Group>
   </tab>
  </tabs>
 </ribbon>
 </customUI>

نضيف المجموعة 

customGR1      المعرف الخاص بالمجموعة
MY Group       الاسم الذى يظهر للمستخدم

قوموا بتنفيذ هذه الخطوات ثم اغلاق قاعدة البيانات ثم اعادة فتحه و قوموا بالذهاب الى options واختيار Current DataBase ومن ثم فى جزء Ribbon And Tool Bar Options اختار الشريط الذى قمنا بتصميمه

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

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

وهذه القاعدة تنفيذ لما تعلمناه وهذا الكود النهائى

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab id="customTb"  label="MY NEW TAB"  visible="true">
        <group id="dbGroup" label="’My Group">
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

 Ribbon Customization Using XML.rar

ملاحظات : 
1- يجب الالتزام بحالة الاحرف الكبيرة والصغيرة 
2- <ribbon>,<tab>,<group> هذه الاشياء تسمى فى لغة XML الاوسمة ومعظمها يفتح ثم يغلق ويفتح <الاسم> ويغلق <الاسم/>
3- لغة XML ليس لها اوسمة مخصصة 

شجعونى بآرائكم ومن كانت عنده زيادة او انتقاد  او سؤال فلا يبخل علينا به

تم تعديل بواسطه نور الدين وليد
  • Like 5
  • Thanks 1
قام بنشر

بارك الله فيك استاذ نور الدين

موضوع جميل وكما قال اخينا الحلواني يحتاجه الكثير

ولي استفسار حول القوائم مع العلم انني لا اهتم بها كثيرا : لقد كان في الاصدار 2003 وبعد ان تنشء شريط الادوات الخاص او القائمة الخاصة تذهب لنافذة الاوامر لاضافة اي امر وكما اشرت استاذ وليد سابقا ! وكان احد الخيارات ياتيك كلمة "نماذج" حيث يتم توسيعها واختيار النموذج وتضيفه كامر للقائمة فيتم فتح النموذج وبدون ماكرو او كود ! واتوقع انها لم تعد موجودة في 2007 وما بعد ؟!

تحياتي

  • Like 2
قام بنشر

السلام عليكم 

بارك الله فيك استاذ رمهان واتشرف بمشاركتك 

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

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

 

  • Like 1
قام بنشر (معدل)

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

نكمل معكم ان شاء الله ما بدأناه فىى هذا الموضوع وهو طريقة انشاء شريط ادوات بواسطة Xml وقد تعلمنا كيفية اضافة تبويب Tab جديد وكيفية اضافة المجموعات Groups الى التبويب Tab 

واليوم ان شاء الله نتعلم كيفية اضافة الادوات كالازار وغيرها الى التبويب

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

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab id="customTb"  label="MY NEW TAB"  visible="true">
        <group id="dbGroup" label="’My Group">
        </group>
      </tab>
    </tabs>
  </ribbon>
</customUI>

وهو يقوم بانشاء تبويب جديد واضافة مجموعة جديدة بداخله
وكما لاحظنا فان جميع الوسمة متداخله ف ribbon بداخلها Tab ثم Group واخيرا بداخله الاوسمة الخاصة بالادوات 
عندما نقوم باضافة ادوات نعرف الاداة كما يلى 

<سمات الاداة  معرف الاداة   اسم الاداة/>

اسم الاداة هو تحديد اذا كانت زر او خانة اختيار او قائمة منسدلة وغيرها

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

ثم سمات الاداة وهى باختصار تشبه خصائص الاداة كالحجم والتسمية التوضيحية والصورة وغيرها وهذه اكثرها استخداما

Enabled                    تستخدم لمعظم الادوات
Visible                    اظهار او عدم اظهار
ID/IDMso                     المعرف الخاص بالعنصر                       
Image/ImageMso              الصورة الخاصة بالعنصر
InsertAfterMso               لتحديد مكان العنصر بعد عنصر آخر
InsertBeforeMso              لتحديد مكانه قبل عنصر آخر
Lable                         التسمية التوضيحية 
Size                           الحجم

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

<button idMso="Cut" label="My Cut Button"/> 

هذا هو كود انشاء زر قص Cut وكما قلت سابقا اسم الاداة button وبعد ذلك المعرف وهنا استخدمنا المعرف الخاص بالاوفيس Cut ونستخدم هذه الطريقة عندما نريد ادراج اى من الادوات الموجودة بالاوفيس والاكسيس ولمعرفة المعرف الخاص باى اداة مثلا التصدير لاكسيل افضل طريقة هى كما بالصورة


Untitled.thumb.png.ee3a2b569096ff282a188

 

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

<button idMso="ExportExcel" label="Export To Excel By XML" />

وكما قلنا سابقا ان هناك العديد من الخصائص او السمات التى نقوم بتمريرها للعنصر وجيمعها اختيارى ما عدا ال  ID
فاذا ادخلنا مثلا الكود بهذه الطريقة دون تحديد خاصية Size لهذا الزر نلاحظ ظهوره بالشكل الافتراضى الصغير وكذلك صورة الامر Cut الافتراضية  وهو هكذا
Untitled.thumb.png.02e2a08547a721b807a04
اذا اردنا ان تجعل حجمه يظهر بشكل كبير علينا ان نقوم باضافة السمة Size الى الكود ليصبح بهذا الشكل
والخاصية size= اما normal كما فى الصورة السابقة او large كما فى الصورة التالية

<button idMso="Cut" label="My Cut Button" Size="large" /> 

وكذلك الخاصية Enabled

<button idMso="Cut" label="My Cut Button" Size="large" enabled="false" /> 

Untitled.thumb.png.a2a0bd934e31036d42ded

واذا اردنا تغيير خاصبة Visible اخفاءالامر cut نكتب كما يلى

<button idMso="Cut" visible="false" /> 

اما الخاصية InsertBeforeMso و insertAfterMso فتكون كالتالى

  <button idMso="ExportExcel" label="Export For EXC" size="large" insertBeforeMso="Cut" />  

فهذا الكود يقوم بانشاء زر التصدير لاكسيل ويضعه قبل الامر Cut الذى انشاناه سابقا وان اردنا ان يضعه بعده فنغير InsertBeforeMso  الى insertAfterMso 

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

<button id="Msg" label="Hello" Size="large onAction="اسم الماكرو" /> 

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

ويصبح الكود النهائى حتى الآن

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab id="customTb"  label="MY NEW TAB"  visible="true">
        <group id="dbGroup" label="’My Group">
          <button idMso="Cut" label="Cut" size="large" />
          <button idMso="ExportExcel" label="Export For EXC" size="large" insertBeforeMso="Cut" />    
          <button id="RunMacro" label="Open" size="large" imageMso="ViewsFormView" onAction="OpenForm"/> 
        </group>
      </tab>
     </tabs>
  </ribbon>
</customUI>

وان شاء الله فى الدرس القادم نتحدث عن ربط الازرار بالماكرو والكود بتفصيل اكثر

مرفق لكم القاعدة وبها ما شرحته   Ribbon Customizations.rar

 

تم تعديل بواسطه نور الدين وليد
  • Like 5
  • Thanks 1
  • 9 months later...
قام بنشر (معدل)

جزاك الله كل خير أستاذ نور الدين لقد بحثت عن هذا الموضوع كثيرا و قد وجدت مجموعة من الدروس و حاولت التنفيذ لكن لم أفلح لا أدري ما هو السبب.

لكن الآن و بعد هذا الشرح الممتاز فقد تم تنفيذ البرنامج بنجاح لك جزيل الشكر يا أستاذ.

بقي لدي سؤال : كيف يمكن إخفاء قائمة الصفحة الرئيسية و ترك القائمة التي أنشأناها فقط.

تم تعديل بواسطه صالح حمادي
  • 10 months later...
  • 1 year later...
قام بنشر (معدل)

بارك الله  فيك اخي وجزاك االله خير

تم تعديل بواسطه Sayedsgm
  • 4 months later...
قام بنشر

جزاك الله خيرا 

بس سؤال

 كيف يمكن إخفاء قائمة الصفحة الرئيسية و ترك القائمة التي أنشأناها فقط

  • Like 1
  • 2 months later...
  • 10 months later...
قام بنشر
11 ساعات مضت, moustafa2004 said:

كيف يمكن اخفاء قائمة file

تفضل ضع الكود 

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>
      <tab id="customTb"  label="MY NEW TAB"  visible="true">
        <group id="dbGroup" label="’My Group">
          <button idMso="Cut" label="Cut" size="large" />
          <button idMso="ExportExcel" label="Export For EXC" size="large" insertBeforeMso="Cut" />    
          <button id="RunMacro" label="Open" size="large" imageMso="ViewsFormView" onAction="OpenForm"/> 
        </group>
      </tab>
     </tabs>
  </ribbon>
    <!--كود إيقاف جميع أوامر file بداية-->
   <backstage> 
     <button idMso="FileCloseDatabase" visible="false"/>
     <button idMso="SaveObjectAs" visible="false"/>
     <button idMso="FileSaveAsCurrentFileFormat" visible="false"/>
     <button idMso="FileOpen" visible="false"/>
     <button idMso="FileSave" visible="false"/>
     <tab idMso="TabInfo" visible="false"/>
     <tab idMso="TabRecent" visible="false"/>
     <tab idMso="TabNew" visible="false"/>
     <tab idMso="TabPrint" visible="true"/>
     <tab idMso="TabShare" visible="false"/>
     <tab idMso="TabHelp" visible="false"/>
     <button idMso="ApplicationOptionsDialog" visible="false"/>
     <button idMso="FileExit" visible="false"/>
     <button id="btnPrintPreviewClose" isDefinitive="true" label="Close Preview" imageMso="PrintPreviewClose" onAction="OnActionClose"/>
  </backstage>
      <!--كود إيقاف جميع أوامر file نهاية-->
</customUI>

 

  • Like 2
  • 1 year later...
  • 1 year later...
قام بنشر

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information