כיצד לבצע התאמה אישית של תפריטים ושורות תפריטים ביישום Excel?

תרגומי מאמרים תרגומי מאמרים
Article ID: 830502 - View products that this article applies to.
הרחב הכל | כווץ הכל

On This Page

תקציר

מאמר זה מתאר כיצד לבצע התאמה אישית של תפריטים ושורות תפריטים ב-Excel 2000 ובגירסאות מתקדמות יותר. מאמר זה כולל הוראות צעד אחר צעד ודוגמאות לקודים כדי לאפשר ניהול והתאמה אישית שיטתיים של שורות תפריטים, תפריטים, פקודות, תפריטי משנה ותפריטי קיצור ביישום Microsoft Excel.

מבוא

כדי לבצע משימות נפוצות רבות הקשורות להתאמה אישית של שורת תפריטים ושל תפריטים ב-Microsoft Excel 2000, ב-Microsoft Excel 2002 וב-Microsoft Office Excel 2003, השתמש בתיבת הדו-שיח התאמה אישית. כדי לבצע משימות מתקדמות יותר, או כדי להתאים התאמה מיוחדת שורת תפריטים ותפריטים עבור תוכנית מותאמת אישית, יהיה עליך ליצור קודי Microsoft Visual Basic for Applications (VBA)?.

לקבלת מידע נוסף על אופן השימוש בתיבת הדו-שיח 'התאמה אישית', לחץ על עזרה של Microsoft Excel בתפריט עזרה, הקלד התאמה אישית של שורת תפריט במסייע של Office או באשף התשובות, ולאחר מכן לחץ על חפש כדי להציג את הנושא.

מאמר זה יכול לסייע לך ללמוד טכניקות של כתיבת קוד VBA לצורך התאמה אישית של שורות תפריטים, תפריטים, פריטי תפריט, תפריטי משנה ותפריטי קיצור.

מידע נוסף

Microsoft מספקת את דוגמאות התכנות להמחשה בלבד וללא כל אחריות, בין מפורשת ובין משתמעת, ובכלל זה, אך לא רק, אחריות לגבי סחירות או התאמה למטרה מסוימת. מאמר זה מבוסס על ההנחה שאתה מכיר את שפת התכנות המודגמת ובקי בהפעלת הכלים המשמשים ליצירת פרוצדורות ולניפוי שגיאות. מהנדסי התמיכה של Microsoft יכולים לסייע בהסברת הפונקציונליות של פרוצדורה מסוימת, אך הם לא ישנו את הדוגמאות כדי לספק פונקציונליות נוספת או כדי לבנות פרוצדורות שיענו על צרכיך הספציפיים.

דוגמאות במאמר זה

בדוגמאות המובאות במאמר זה נעשה שימוש בקוד VBA ב-Excel 2000, ב-Excel 2002 וב-Excel 2003 לצורך התאמה אישית של תפריטים. כדי להשתמש בפקודות מאקרו לדוגמה, פעל בהתאם להוראות הבאות:
  1. הפעל את Excel.
  2. בתפריט כלים, הצבע על מאקרו, ולאחר מכן לחץ על Visual Basic Editor.
  3. בתפריט Insert, לחץ על Module.
  4. הקלד את אחת מפקודות המאקרו לדוגמה מתוך מאמר זה או שתוכל להשתמש בפעולה העתקה והדבקה כדי להעתיק את פקודות המאקרו לדוגמה לגיליון module.
  5. בתפריט Run, לחץ על Run Sub/UserForm.
  6. אם תיבת הדו-שיח Macros מופיעה, לחץ על שם המאקרו, ולאחר מכן לחץ על Run.

שורות פקודה

ב-Microsoft Office, סרגלי הכלים, שורות התפריטים ותפריטי הקיצור נחשבים כולם סוג אובייקט אחד מבחינת התיכנות: שורות פקודה. כל הפריטים הבאים מיוצגים ב-VBA על-ידי אובייקטים מסוג CommandBar:
  • שורות תפריט, סרגלי כלים ותפריטי קיצור.
  • תפריטים בשורות תפריטים ובסרגלי כלים
  • תפריטי משנה בתפריטים, בתפריטי משנה ובתפריטי קיצור
באפשרותך לשנות שורת תפריטים מובנית כלשהי או סרגל כלים מובנה כלשהו, וגם ליצור ולשנות סרגלי כלים, שורת תפריטים ותפריטי קיצור מותאמים אישית בעזרת קוד ה-VBA שלך. עליך להציג את תכונות התוכנית שלך כלחצנים נפרדים על סרגלי כלים או כקבוצות של שמות פקודות בתפריטים. מאחר שסרגלי כלים ותפריטים הם שורות פקודה, עליך להשתמש באותו סוג של פקדים.

ב-VBA וב-Microsoft Visual Basic, הלחצנים ופריטי התפריט מיוצגים על ידי אובייקטים מסוג CommandBarButton: הפקדים המוקפצים המציגים תפריטים ותפריטי משנה מיוצגים על ידי אובייקטים מסוג CommandBarPopup. בדוגמאות הבאות, הפקד בשם "תפריט" והפקד בשם "תפריט משנה" הם פקדים מוקפצים המציגים תפריט ותפריט משנה בהתאמה. גם התפריט וגם תפריט המשנה הם אובייקטים ייחודיים מסוג CommandBar בעלי קבוצת פקדים משלהם.

ב-Microsoft Excel, אל שורות התפריטים ואל סרגלי הכלים מתייחסים כאל אותו סוג של אובייקט הניתן לתכנות, אובייקט CommandBar. עליך להשתמש בפקדים באובייקט CommandBar כדי להתייחס לתפריטים, לפריטי התפריט לתפריטי המשנה ולתפריטי קיצורי הדרך. עליך להשתמש בקבוע בכל פקד בארגומנט סוג כדי לציין את סוג הפקד שבו ברצונך להשתמש לתפריט, לתפריט המשנה או לפקודה.

קבועים של פקדים

להלן רשימה המכילה קבועים שונים של פקדים ב-Excel 2003, עם ציון סוג הפקד הגרפי שבו יש להשתמש עבור פקד מסוים של שורת תפריטים:
  • MsoControlActiveX*
  • MsoControlAutoCompleteCombo***
  • MsoControlButton
  • MsoControlButtonDropdown
  • MsoControlButtonPopup
  • MsoControlComboBox
  • MsoControlCustom
  • MsoControlDropdown
  • MsoControlEdit
  • MsoControlExpandingGrid
  • MsoControlGauge
  • MsoControlGenericDropdown
  • MsoControlGraphicCombo
  • MsoControlGraphicDropdown
  • MsoControlGraphicPopup
  • MsoControlGrid
  • MsoControlLabel
  • MsoControlLabelEx***
  • MsoControlOCXDropDown
  • MsoControlPane **
  • MsoControlPopup
  • MsoControlSpinner***
  • MsoControlSplitButtonMRUPopup
  • MsoControlSplitButtonPopup
  • MsoControlSplitDropdown
  • MsoControlSplitExpandingGrid
  • MsoControlWorkPane**
*=חדש ב-Microsoft Excel 2000
**=חדש ב-Microsoft Excel 2002
***=חדש ב-Microsoft Excel 2003

שורות תפריטים

שורת תפריטים היא סוג של שורת פקודה. שורת התפריטים היא סוג האובייקט שבו אתה מוסיף תפריטים, פריטי תפריט ותפריטי משנה.

לקבלת מידע נוסף אודות אופן ניהול שורת התפריטים ופריטי התפריט ב-Excel, פעל בהתאם להוראות הבאות:
  1. הפעל את העורך של Microsoft Visual Basic.
  2. בתפריט Help, לחץ על עזרה של Microsoft Visual Basic.
  3. בתיבה המסייע של Office או בתיבה אשף התשובות, הקלד שורות תפריטים, ולאחר מכן לחץ על חפש.
  4. ב-Excel 2003 וב-Excel 2002, לחץ על Adding and Managing Menu Bars and Menu Items. ב-Excel 2000, לחץ על אודות תפריטים וסרגלי כלים.
באפשרותך לערוך שינויים גם בשורת התפריטים וגם בפקדים באותה שורת תפריטים בזמן ריצה. השינויים שאתה מבצע בשורת התפריטים עלולים להשפיע על המראה או על המיקום שלה. השינויים שאתה מבצע בפקדים תלויים בסוג הפקד. בטבלה הבאה מפורטים רוב המאפיינים הנפוצים ביותר והשיטות הנפוצות לשינוי המצב, הפעולה או התוכן של פקד:
כווץ את הטבלההרחב את הטבלה
מאפיין או שיטהמטרה
Addמוסיף שורת תפריטים בשיטת Add של אוסף האובייקטים CommandBars ותוך ציון הערך TRUE עבור הארגומנט של Menubar.
Enabledאם המאפיין Enabled מוגדר כערך TRUE, המשתמש יכול להפוך את שורת התפריטים לגלויה בעזרת קוד של Visual Basic. אם המאפיין Enabled מוגדר כערך FALSE, המשתמש אינו יכול להפוך את שורת התפריטים לגלויה. עם זאת, שורת התפריטים תופיע ברשימת שורות הפקודה הזמינות.
Protectionמאפשר להגן על שורת התפריטים מפני פעולות משתמש מסוימות.
Positionמציין את מיקומה של שורת התפריטים החדשה ביחס לחלון התוכנית. מיקום שורת התפריטים ביחס לחלון התוכנית יכול להיות אחד מהמאפיינים הקבועים הבאים מסוג MsoBarPosition:? msoBarLeft?, msoBarTop?, msoBarRight?, msoBarBottom?, msoBarFloating?, msoBarPopup (משמש ליצירת תפריטי קיצור), או msoBarMenuBar (לשימוש ב-Apple Macintosh בלבד).
Visibleמציין אם הפקד גלוי או מוסתר.

החזרת זיהוי עבור פקד של שורת פקודות

הקוד הבא, שהוא דוגמה, מחזיר את הזיהוי עבור שורת התפריטים הפעילה:
Sub Id_Control ()?
Dim myId as Object
   set myId = CommandBars("Worksheet Menu Bar").Controls("Tools")?
   MsgBox myId.Caption & Chr(13) & MyId.Id
End Sub

קביעת השם של שורת התפריטים הפעילה

הקוד בדוגמה הבאה מחזיר את השם עבור שורת התפריטים הפעילה:
Sub MenuBars_GetName()?
   MsgBox CommandBars.ActiveMenuBar.Name
End Sub

שמירת המצב הפעיל (לשורות תפריטים מובנות או מותאמות אישית)

ייתכן שתרצה להצהיר על המשתנה OriginalMenuBar כעל משתנה ציבורי, כך ששגרת משנה מסוימת תוכל להשתמש בו בשגרת משנה אחרת, כגון שגרת משנה Auto_Close. הצהרה על המשתנה בדרך זו ושימוש בו יגרמו לאיפוס שורת התפריטים הקודמת של המשתמש אל המצב המקורי שלה. פקודת המאקרו בדוגמה הבאה תאפס את שורת התפריטים:
Public OriginalMenuBar as Object

Sub MenuBars_Capture()?
   Set OriginalMenuBar = CommandBars.ActiveMenuBar
End Sub

יצירת שורת פקודות מותאמת אישית

הקוד בדוגמה הבאה יוצר שורת פקודה מותאמת אישית בשם My Command Bar:
Sub MenuBar_Create() Application.CommandBars.Add Name:="My command bar" End Sub

תוכל גם ליצור שורת פקודה מותאמת אישית בעזרת הארגומנט Temporary:=True. הארגומנט Temporary:=True מאפשר מצב שבו שורות הפקודה יאופסו אוטומטית בעת היציאה מ-Excel. הקוד הבא משתמש בארגומנט Temporary:=True ליצירת שורת פקודה מותאמת אישית:
Sub MenuBar_Create()?
Application.CommandBars.Add Name:="My command bar", Temporary:=True
End Sub

הצגת שורת פקודה מותאמת אישית

בדוגמה הבאה נוצרת ומוצגת שורת תפריטים מותאמת אישית My Custom Bar שתחליף לאחר מכן את שורת התפריטים המובנית:
Sub MenuBar_Show()?
Dim myNewBar As Object
   Set myNewBar = CommandBars.Add(Name:="Custom1", Position:=msoBarFloating)?
   ' לפני שתהפוך את שורת התפריטים המותאמת אישית שלך לגלויה, עליך להפוך אותה לזמינה.
   ' הפיכת שורת התפריטים לזמינה גורמת להוספתה לרשימת שורות התפריטים הזמינות 
   ' בתיבת הדו-שיח  'התאמה אישית'.
' הגדרת מאפיין שורת התפריטים כ-True גורמת להחלפת שורת התפריטים המובנית.
   myNewBar.Enabled = True
   myNewBar.Visible = True
End Sub

מחיקת שורת פקודות מותאמת אישית

הקוד בדוגמה הבאה מוחק שורת פקודה מותאמת אישית בשם Custom 1:
Sub MenuBar_Delete()?
   CommandBars("Custom1").Delete
End Sub

הסתרת שורת פקודה

הקוד בדוגמה הבאה מסיר את שורת התפריטים המובנית תרשים מרשימת שורות התפריטים הזמינות:
Sub MenuBar_Display()?
   CommandBars("Chart").Enabled = False
End Sub

הצגת שורת פקודה

הקוד בדוגמה הבאה מוסיף את שורת התפריטים המובנית תרשים לרשימת שורות התפריטים הזמינות:
Sub MenuBar_Display()?
   CommandBars("Chart").Enabled = True
End Sub

שחזור שורת פקודה מובנית

שחזור שורת תפריטים גורם לאיפוס פקדי ברירת המחדל (גם בתפריטים וגם בפריטי תפריט). הקוד בדוגמה הבאה משחזר את שורת התפריטים המובנית תרשים:
Sub MenuBar_Restore()?
   CommandBars("Chart").Reset
End Sub
הערה באפשרותך לאפס רק שורות תפריטים מובנות. לא תוכל לאפס שורת תפריטים מותאמת אישית.

תפריטים

שחזור שורת תפריטים מאפס את פקדי ברירת המחדל (גם בתפריטים וגם בפריטי תפריט). הקוד בדוגמה הבאה משחזר את שורת התפריטים המובנית תרשים:

Sub MenuBar_Restore()?
   CommandBars("Chart").Reset
End Sub
הערה באפשרותך לאפס רק שורות תפריטים מובנות. לא תוכל לאפס שורת תפריטים מותאמת אישית.

הוספת פקד תפריט מותאם אישית לשורת פקודה

הקוד בדוגמה הבאה מוסיף את שם התפריט שאתה מוסיף באופן שיטתי אל שורת התפריטים גיליון עבודה. לדוגמה, קוד זה מוסיף את שם התפריט New Menu אל שורת התפריטים גיליון עבודה.

הערה תוכל לכנות תפריט זה בכל שם שתבחר.
Sub Menu_Create()?
Dim myMnu As Object
  _ Set myMnu = CommandBars("Worksheet menu bar").Controls.? 
      Add(Type:=msoControlPopup, before:=3)?
   With myMnu
   ' הסימן "&" מסמל הקצאת מקש קיצור (במקרה זה, Alt+M).
      ?.Caption = "New &Menu"?
   End With
End Sub

הפיכת פקד תפריט בשורת פקודה ללא זמין

פקד תפריט שאינו זמין מופיע מעומעם ואינו זמין בשורת הפקודה. בדוגמה הבאה הופך התפריט New Menu ללא זמין:
Sub Menu_Disable()?
   CommandBars("Worksheet menu bar").Controls("New &Menu").Enabled = False
End Sub

הפיכת פקד תפריט בשורת הפקודה לזמין

הקוד בדוגמה הבאה הופך לזמין את התפריט New Menu שהפכת ללא זמין בסעיף "הפיכת פקד תפריט בשורת פקודה ללא זמין":
Sub Menu_Disable()?
   CommandBars("Worksheet menu bar").Controls("New &Menu").Enabled = True
End Sub

מחיקת פקד תפריט משורת הפקודה

הקוד בדוגמה הבאה מוחק את התפריט New Menu שיצרת במקטע "הוספת פקד תפריט מותאם אישית לשורת הפקודה" משורת התפריטים גיליון עבודה:
Sub Menu_Delete()?
   CommandBars("Worksheet menu bar").Controls("New &Menu").Delete
End Sub

שחזור פקד תפריט בשורת הפקודה

הקוד בדוגמה הבאה משחזר את שורת התפריטים המובנית תרשים בשורת התפריטים גיליון עבודה:
Sub Menu_Restore()?
Dim myMnu As Object
   Set myMnu = CommandBars("Chart")?
   myMnu.Reset
End Sub

פקודות

מגוון השינויים שבאפשרותך לבצע בפקודה תלוי בסוג הפקד. בדרך כלל, הלחצנים זמינים או מוסתרים. תיבות עריכה, תיבות של רשימות נפתחות ותיבות משולבות הן רב-תכליתיות יותר בכך שבאפשרותך להוסיף פריטים לרשימה או למחוק פריטים ממנה. בנוסף, באפשרותך לקבוע איזו פעולה תבוצע על ידי עיון בערך הפריטים שבחרת מהרשימה. באפשרותך לשנות את הפעולה של פקד כלשהו לפונקציה מובנית או לפונקציה מותאמת אישית.

בטבלה הבאה מפורטים המאפיינים השכיחים ביותר והשיטות הנפוצות לשינוי המצב, הפעולה או התוכן של פקד:
כווץ את הטבלההרחב את הטבלה
מאפיין או שיטהמטרה
Addהוספת פקודה לשורת תפריטים.
AddItemהוספת פריט לרשימה נפתחת כחלק מתיבת רשימות נפתחות או תיבה משולבת.
Styleמציין אם על פני הלחצן מופיע סמל או כיתוב.
OnActionמציין את הפרוצדורה שתפעל כאשר המשתמש ישנה את ערך הפקד.
Visibleמציין אם הפקד גלוי או מוסתר.

לקבלת מידע נוסף אודות תפריטים ב-Excel 2003 וב-Excel 2002, פעל בהתאם להוראות הבאות:
  1. הפעל את העורך של Microsoft Visual Basic.
  2. בתפריט Help, לחץ על עזרה של Microsoft Visual Basic.
  3. בתיבה Search Help, הקלד menus ולאחר מכן הקש על ENTER.
  4. לחץ על Adding and Managing Menu Bars and Menu Items (Office)?.

הוספת שורה מפרידה לפקד תפריט

הקוד בדוגמה הבאה מוסיף שורה מפרידה לפני הפקודה גיליון עבודה בתפריט הוספה.
Sub menuItem_AddSeparator()?
   CommandBars("Worksheet menu bar").Controls("Insert") _?
   ?.Controls("Worksheet").BeginGroup = True
End Sub
הערה להסרת שורה מפרידה, הגדר את המאפיין BeginGroup כ-False.

יצירת פקד פקודה מותאם אישית בתפריט

הקוד בדוגמה הבאה יוצר פקודה חדשה בשם Custom1 בתפריט כלים בשורת התפריטים Custom1, ולאחר מכן מפעיל את פקודת המאקרו Code_Custom1 כאשר אתה לוחץ על Custom1:
Sub menuItem_Create()?
   With CommandBars("Worksheet menu bar").Controls("Tools")?
      ?.Controls.Add(Type:=msoControlButton, Before:=1).Caption = "Custom1"?
      ?.Controls("Custom1").OnAction = "Code_Custom1"?
   End With
End Sub

הוספת סימן ביקורת לפקד פקודה

הקוד בדוגמה הבאה מוסיף סימן ביקורת לצד הפקודה Custom1 אם היא אינה מסומנת, ואחר כך הוא מסיר את סימן הביקורת אם הפקודה Custom1 מסומנת:
Sub menuItem_checkMark()?
Dim myPopup as Object

   Set myPopup = CommandBars("Worksheet menu bar").Controls("Tools")?
   If myPopup.Controls("Custom1").State = msoButtonDown Then
      ' מחיקת סימן ביקורת לצד פריט תפריט.
      myPopup.Controls("Custom1").State = msoButtonUp
      MsgBox "Custom1 is now unchecked"?
      Else
        ' הוספת סימן ביקורת לצד פריט תפריט.
         myPopup.Controls("Custom1").State = msoButtonDown
         MsgBox "Custom1 is now checked"?
    End If
End Sub

הפיכת פקד פקודה בשורת הפקודה ללא זמין

הקוד בדוגמה הבאה הופך לזמינה את הפקודה Custom1 שיצרת במקטע "יצירת פקד פקודה מותאם אישית בתפריט" בתפריט כלים:
Sub MenuItem_Disable()?
Dim myCmd as Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("Tools")?
   myCmd.Controls("Custom1").Enabled = False
End Sub

הפיכת פקד פקודה בשורת הפקודה לזמין

הקוד בדוגמה הבאה הופך לזמינה את הפקודה Custom1 שהפכת ללא זמינה במקטע "הפיכת פקד פקודה בשורת הפקודה ללא זמין":
Sub MenuItem_Enable()?
Dim myCmd as Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("Tools")?
   myCmd.Controls("Custom1").Enabled = True
End Sub

מחיקת פקד פקודה בתפריט

הקוד בדוגמה הבאה מוחק את הפקודה שמירה בתפריט קובץ:
Sub menuItem_Delete()?
Dim myCmd as Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("File")?
   myCmd.Controls("Save").Delete
End Sub

שחזור פקד פקודה מובנה בתפריט

כדי לשחזר פקד פקודה בתפריט, עליך לדעת מהו מספר הזיהוי (ID) של הפקד. כדי לקבוע את מספר הזיהוי, עיין במקטע "החזרת זיהוי עבור פקד שורת פקודה". בדוגמה הבאה, הפקודה שמור, שמחקת במקטע "מחיקת פקד פקודה בתפריט", נמחקת ואחר כך משוחזרת:
Sub menuItem_Restore()?
Dim myCmd As Object
   Set myCmd = CommandBars("Worksheet menu bar").Controls("File")?
   Id 3 מתייחס לפקד פריט התפריט 'שמור'.
   myCmd.Controls.Add Type:=msoControlButton, ID:=3, Before:=5
End Sub

תפריטי משנה

תפריטי המשנה מופיעים לצד תפריט האב כאשר אתה לוחץ על פקודה. בקצה הימני של שם פקודה שהיא פקד תפריט משנה מופיע חץ שחור קטן.

הוספת תפריט משנה

הקוד בדוגמה הבאה מוסיף תפריט משנה חדש בשם NewSub לתפריט כלים בשורת התפריטים גיליון עבודה.
Sub SubMenu_Create()?
Dim newSub as Object
   Set newSub = CommandBars("Worksheet menu bar").Controls("Tools")?
   With newSub
      ?.Controls.Add(Type:=msoControlPopup, Before:=1).Caption="NewSub"?
   End With
End Sub

הוספת פקודה לתפריט משנה

הקוד בדוגמה הבאה מוסיף פקודה חדשה בשם SubItem1 לתפריט המשנה NewSub, ולאחר מכן הוא מפעיל את פקודת המאקרו Code_SubItem1 כאשר אתה לוחץ על SubItem1:
Sub SubMenu_AddItem()?
Dim newSubItem as Object
   Set newSubItem = CommandBars("Worksheet menu bar") _?
   ?.Controls("Tools").Controls("NewSub")?
   With newSubItem
      ?.Controls.Add(Type:=msoControlButton, Before:=1).Caption = "SubItem1"?
      ?.Controls("SubItem1").OnAction = "Code_SubItem1"?
   End With
End Sub

הפיכת פקד פקודה בתפריט משנה ללא זמין

הקוד בדוגמה הבאה הופך ללא זמינה את הפקודה SubItem שיצרת במקטע "הוספת פקד לתפריט משנה":

Sub SubMenu_DisableItem()?
   CommandBars("Worksheet menu bar").Controls("Tools") _?
   ?.Controls("NewSub").Controls("SubItem1").Enabled = False
End Sub


בדוגמה הבאה, אותה פקודה SubItem הופכת לזמינה:
Sub SubMenu_DisableItem()?
   CommandBars("Worksheet menu bar").Controls("Tools") _?
   ?.Controls("NewSub").Controls("SubItem1").Enabled = True
End Sub

מחיקת פקד בתפריט משנה

הקוד בדוגמה הבאה מוחק את הפקודה SubItem1 שיצרת בתפריט המשנה NewSub במקטע "הוספת פקודה לתפריט משנה":
Sub SubMenu_DeleteItem()?
   CommandBars("Worksheet menu bar").Controls("Tools") _?
   ?.Controls("NewSub").Controls("SubItem1").Delete
End Sub

הפיכת פקד בתפריט משנה ללא זמין

הקוד בדוגמה הבאה הופך ללא זמין את תפריט המשנה NewSub שיצרת בתפריט כלים במקטע "הוספת תפריט משנה":
Sub SubMenu_DisableSub()?
   CommandBars("Worksheet menu bar").Controls("Tools") _?
   ?.Controls("NewSub").Enabled = False
End Sub
הערה כדי להפוך לזמין את הפקד הלא זמין, הגדר את המאפיין Enabled כ-True.

מחיקת פקד בתפריט משנה

הקוד בדוגמה הבאה מוחק את תפריט המשנה NewSub שיצרת בתפריט כלים במקטע "הוספת תפריט משנה":
Sub SubMenu_DeleteSub()?
   CommandBars("Worksheet menu bar").Controls("Tools") _?
   ?.Controls("NewSub").Delete
End Sub

שורות תפריטי קיצור

תפריט קיצור הוא שורת פקודה צפה המופיעה כאשר המשתמש לוחץ לחיצה ימנית על אובייקט. שורת תפריטי הקיצור יכולה להכיל את אותם סוגי פקדים כמו שורת פקודה והפקדים פועלים באותה צורה כמו הפקדים בשורת הפקודה. ברוב התוכניות לא תוכל ליצור או לשנות תפריטי קיצור מתוך ממשק התוכנית. לכן, עליך ליצור את תפריטי הקיצור ולשנות אותם בזמן הריצה.

לקבלת מידע נוסף אודות תפריטי קיצור ב-Excel 2002 וב-Excel 2003, פעל בהתאם להוראות הבאות:
  1. הפעל את העורך של Microsoft Visual Basic.
  2. בתפריט Help, לחץ על עזרה של Microsoft Visual Basic.
  3. בתיבה Search Help, הקלד shortcut ולאחר מכן הקש על ENTER.
  4. לחץ על Adding and Displaying Shortcut Menus (הוספה והצגה של תפריטי קיצור).

יצירת שורת תפריטי קיצור חדשה

הקוד בדוגמה הבאה יוצר שורת תפריטי קיצור חדשה בשם myShortcutBar:

Sub Shortcut_Create()?
Dim myShtCtBar as Object
   Set myShtCtBar = CommandBars.Add(Name:="myShortcutBar", _?
   Position:=msoBarPopup)?
   ' קוד זה מציג את שורת תפריטי הקיצור.
   ' 200, 200 מתייחס למצב המסך בפיקסלים כקואורדינטות x ו-y.
   myShtCtBar.ShowPopup 200,200
End Sub

הערה שורת תפריטי הקיצור מופיעה ריקה מכיוון שלא נוספו לה פקדים (פריטי תפריטים או תפריטי משנה).

תפריטי קיצור

שורות תפריטי קיצור מופיעות כאשר אתה משתמש בלחצן העכבר הימני ללחיצה על אובייקט ספציפי ב-Excel. ב-Excel קיימות שורות תפריטי קיצור רבות, אשר עבורן זמינים תפריטים שונים. באפשרותך גם ליצור שורת תפריטי קיצור מותאמת אישית ולהתאים אישית את שורת התפריטים המובנית.

יצירת פקודה בשורת תפריטי קיצור

הקוד בדוגמה הבאה יוצר פקודת תפריט חדשה בשם Item1 בשורת תפריטי הקיצור myShortcutBar והוא מפעיל את פקודת המאקרו Code_Item1 כאשר אתה לוחץ על Item1:
Sub Shortcut_AddItem()?
Dim myBar as Object
   Set myBar = CommandBars("myShortcutBar")?
   With myBar
      ?.Controls.Add (Type:=msoControlButton, before:=1).Caption = "Item1"?
      ?.Controls("Item1").OnAction = "Code_Item1"?
   End With
   myBar.ShowPopup 200,200
End Sub

הפיכת פקד פקודה בשורת תפריטי קיצור ללא זמין

הקוד בדוגמה הבאה הופך ללא זמינה את הפקודה Item1 שיצרת במקטע "יצירת פקודה בתפריט קיצור":
Sub Shortcut_DisableItem()?
   Set myBar = CommandBars("myShortcutBar")?
   myBar.Controls("Item1").Enabled = False
   myBar.ShowPopup 200,200
End Sub
הערה כדי להפוך לזמין את הפריט הלא זמין, הגדר את המאפיין Enabled כ-True.

מחיקת פקודה בשורת תפריטי קיצור

הקוד בדוגמה הבאה מוחק את פקודת התפריט בשם Item1 בשורת תפריטי הקיצור myShortcutBar:
Sub Shortcut_DeleteItem()?
   Set myBar = CommandBars("myShortcutBar")?
   myBar.Controls("Item1").Delete
   myBar.ShowPopup 200,200
End Sub

מחיקת שורת תפריטי קיצור

מחיקת שורת תפריטי הקיצור גורמת להסרת כל הפריטים. לא תוכל לשחזר שורת תפריטים מותאמת אישית שנמחקה. כדי לשחזר אותה, עליך ליצור אותה, וגם את כל פריטי התפריט ואת כל תפריטי המשנה מחדש.

הקוד בדוגמה הבאה מוחק את תפריט הקיצור myShortCutBar, שיצרת במקטע "יצירת פקודה בשורת תפריטי קיצור":
Sub Shortcut_DeleteShortCutBar()?
   CommandBars("MyShortCutBar").Delete
End Sub

שחזור פקודה בשורת תפריטי קיצור מובנית

הקוד בדוגמה הבאה משחזר את פקודות ברירת המחדל בשורת תפריטי הקיצור של גיליון העבודה Cell:
Sub Shortcut_RestoreItem()?
   CommandBars("Cell").Reset
End Sub

תפריטי משנה בתפריטי קיצור

באפשרותך ליצור תפריטי משנה בשורת תפריטי קיצור. תפריטי המשנה מופיעים לצד תפריט האב כאשר אתה לוחץ על פקד פקודה. בצד ימין של שם פקודה שהיא פקד תפריט משנה מופיע חץ שחור קטן.

יצירת תפריט משנה חדשה בשורת תפריטי קיצור

הקוד בדוגמה הבאה מוסיף תפריט משנה חדש בשם NewSub בשורת תפריטי הקיצור בגיליון העבודה Cell:
Sub ShortcutSub_Create()?
   CommandBars("Cell").Controls.Add(Type:=msoControlPopup, before:=1) _?
   .Caption = "NewSub"?
    ' קוד זה מציג את שורת תפריטי הקיצור.
    ' 200, 200 מתייחס למצב המסך בפיקסלים כקואורדינטות x ו-y.
   CommandBars("Cell").ShowPopup 200, 200
End Sub
הערה תפריט המשנה ריק מכיוון שלא נוספו לו פריטי תפריט.

יצירת פקד פקודה בתפריט משנה שנמצא בשורת תפריטי קיצור

פקודת המאקרו הבאה מוסיפה את הפקודה SubItem1 לתפריט המשנה NewSub שיצרת בתפריט הקיצור Cell, ואז מפעילה את פקודת המאקרו Code_SubItem1 כאשר אתה לוחץ על SubItem1:
Sub ShortcutSub_AddItem()?
Dim newSubItem as Object
   Set newSubItem = CommandBars("Cell").Controls("NewSub?)?
   With newSubItem
      ?.Controls.Add(Type:=msoControlButton, before:=1).Caption = "subItem1"?
      ' קוד זה יפעיל את פקודת המאקרו subItem1_Code כאשר אתה לוחץ על subItem1.
      ?.Controls("subItem1").OnAction = "Code_subItem1"?
   End With
   ' קוד זה מציג את שורת תפריטי הקיצור Cell.
   ' 200, 200 מתייחס למצב המסך בפיקסלים כקואורדינטות x ו-y.
   CommandBars("Cell").ShowPopup 200, 200
End Sub

הפיכת פקד פריט תפריט משנה בתפריט קיצור ללא זמין

הקוד בדוגמה הבאה הופך ללא זמינה את הפקודה SubItem1 בתפריט המשנה NewSub:
Sub ShortcutSub_DisableItem()?
   CommandBars("Cell").Controls("NewSub") _?
   ?.Controls("subItem1").Enabled = False
   ' קוד זה מציג את שורת תפריטי הקיצור Cell.
   ' 200, 200 מתייחס למצב המסך בפיקסלים כקואורדינטות x ו-y.
   CommandBars("Cell").ShowPopup 200, 200
End Sub
הערה כדי להפוך לזמין את פריט לא זמין, הגדר את המאפיין Enabled כ-True.

מחיקת פקד פריט תפריט משנה בתפריט קיצור

הקוד בדוגמה הבאה מוחק את הפקודה SubItem1 בתפריט המשנה NewSub:
Sub ShortcutSub_DeleteItem()?
   CommandBars("Cell").Controls("NewSub").Controls("subItem1").Delete
   ' קוד זה מציג את שורת תפריטי הקיצור Cell.
   ' 200, 200 מתייחס למצב המסך בפיקסלים כקואורדינטות x ו-y.
   CommandBars("Cell").ShowPopup 200, 200
End Sub

הפיכת פקד פריט תפריט משנה בתפריט קיצור ללא זמין

הקוד בדוגמה הבאה הופך ללא זמין את תפריט המשנה NewSub בשורת תפריטי הקיצור Cell:
Sub ShortcutSub_DisableSub()?
   CommandBars("Cell").Controls("NewSub").Enabled = False
   ' קוד זה מציג את שורת תפריטי הקיצור Cell.
   ' 200, 200 מתייחס למצב המסך בפיקסלים כקואורדינטות x ו-y.
   CommandBars("Cell").ShowPopup 200, 200
End Sub
הערה כדי להפוך לזמין פריט לא זמין, הגדר את המאפיין Enabled כ-True.

מחיקת פקד תפריט משנה בתפריט קיצור

הקוד בדוגמה הבאה מוחק את תפריט המשנה NewSub שיצרת בשורת תפריטי הקיצור Cell:
Sub ShortcutSub_DeleteSub()?
   CommandBars("Cell").Controls("NewSub").Delete
   ' קוד זה מציג את שורת תפריטי הקיצור Cell.
   ' 200, 200 מתייחס למצב המסך בפיקסלים כקואורדינטות x ו-y.
   CommandBars("Cell").ShowPopup 200, 200
End Sub

מציאת מידע נוסף

המשאבים הבאים עומדים לרשותך כדי לספק לך מידע נוסף על אופן ביצוע ההתאמה האישית של תפריטים ושל שורת תפריטים ב-Excel.

דפדפן האובייקטים

דפדפן האובייקטים מכיל רשימה שלמה של כל המאפיינים ושל כל השיטות לגבי פקודה ספציפית. כדי למצוא מידע זה, עבור ל-Visual Basic Editor (הקש על ALT+F11), לחץ על Object Browser בתפריט View (או הקש על F2), הקלד את שם הפקד בתיבה Search ולאחר מכן הקש על ENTER או לחץ על Search

Microsoft Knowledge Base

Microsoft Knowledge Base הוא מקור מידע עיקרי של מוצרי Microsoft המשמש את אנשי התמיכה המקצועיים במרכזי התמיכה של מוצרי Microsoft. Microsoft Knowledge Base גם עומד לרשות לקוחותיה של Microsoft. מסד נתונים מקיף זה מכיל מאמרים מפורטים שבהם ניתן למצוא מידע טכני אודות מוצרי Microsoft, רשימות תיקונים מתועדות, שגיאות תיעוד ותשובות לשאלות נפוצות בנושא תמיכה טכנית.

כדי להתחבר ל-Microsoft Knowledge Base, בקר באתר האינטרנט של Microsoft שלהלן ופעל בהתאם להוראות המופיעות בדף:
http://support.microsoft.com

מאפיינים

Article ID: 830502 - Last Review: יום רביעי 14 דצמבר 2005 - Revision: 4.0
המידע במאמר זה חל על:
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
מילות מפתח 
kbhowtomaster KB830502

ספק משוב

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com