久久国产av,国产激情欧美有码,亚洲国产综合精品2020,国产无套粉嫩白浆内精

在Excel 2007中操作和管理數(shù)據(jù)實例操作

2023-06-29 14:08:56 數(shù)碼極客 4767次閱讀 投稿:檸萌

在Excel 2007中操作和管理數(shù)據(jù)實例操作

創(chuàng)建一個動態(tài)菜單控件不是一項簡單的工作,但在使用VBA動態(tài)修改Ribbon方面,該控件可能提供最大的靈活性。

這里,創(chuàng)建了一個簡單的動態(tài)菜單控件演示,為Excel2007工作簿中的三個工作表中的每一個顯示不同的菜單。圖1展示了激活工作表sheet1時出現(xiàn)的菜單。當(dāng)激活一個工作表時,VBA過程發(fā)送為工作表指定的XML代碼。在本示例中,直接存儲XML代碼在工作表里,使之更易閱讀。此外,XML標(biāo)志可以作為字符串變量存儲在代碼中。

圖1:動態(tài)菜單近件使得可以取決于內(nèi)容來創(chuàng)建變化的菜單

創(chuàng)建新選項卡、新組和動態(tài)菜單控件的RibbonX代碼如下:

<customUI xmlns=”http://schemas.microsoft.com/office/2006/01/customui“
onLoad=”ribbonLoaded”>
 <ribbon>
 <tabs>
  <tab id=”CustomTab” label=”Dynamic”>
    <group id=”group1″ label=”Dynamic Menu Demo”>
     <dynamicMenu id=”DynamicMenu”
       getContent=”dynamicMenuContent”
       imageMso=”RegionLayoutMenu”
       size = “l(fā)arge”
       label=”Sheet-Specific Menu”/>
     </group>
   </tab>
  </tabs>
  </ribbon>
</customUI>
本示例需要無論何時用戶激活新工作表時,都使Ribbon無效的一種方式。這里使用了先前顯示分頁符的示例相同的方法。聲明了一個IRibbonUI類型的Public變量MyRibbon,無論何時激活一個新工作表,都將在Workbook_SheetActivate過程中調(diào)用UpdateDynamicRibbon過程:

Sub UpdateDynamicRibbon()
‘  Invalidate the Ribbon to force a call to dynamicMenuContent
  On Error Resume Next
  MyRibbon.Invalidate
  If Err.Number <> 0 Then
    MsgBox “Lost the Ribbon object. Save and reload.”
  End If
End Sub

UpdateDynamicRibbon過程使MyRibbon對象無效,強(qiáng)制對名為dynamicMenuContent(一個通過RibbonX代碼里getContent參數(shù)引用的過程)的VBA回調(diào)過程的調(diào)用。注意錯誤處理代碼。一些對VBA代碼的編輯銷毀了MyRibbon對象,而該對象是在打開工作簿時創(chuàng)建的。試圖使不存在的對象無效將會導(dǎo)致錯誤,消息框?qū)⑼ㄖ脩舯仨毐4婀ぷ鞑竞笤僦匦麓蜷_。而重新打開該工作簿是重新創(chuàng)建MyRibbon對象的唯一方式。

dynamicMenuContent過程的代碼如下。該過程遍歷活動工作表A列中的單元格,讀取XML代碼,將其保存在名為XMLcode的變量中。當(dāng)附加了所有的XML后,傳遞給returnedVal參數(shù),使動態(tài)菜單控件有新的代碼,因此顯示一組不同的菜單選項。

Sub dynamicMenuContent(control As IRibbonControl, _
  ByRef returnedVal)
  Dim r As Long
  Dim XMLcode As String
‘  Read the XML markup from the active sheet
  For r = 1 To Application.CountA(Range(”A:A”))
    XMLcode = XMLcode & ActiveSheet.Cells(r, 1) & ” “
  Next r
  returnedVal = XMLcode
End Sub

聲明:各百科所有作品(圖文、音視頻)均由用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流。若您的權(quán)利被侵害,請聯(lián)系: [email protected]