DIY自己的Office 2007功能選單

在Office 2003的年代中,若您很喜歡用VBA錄製巨集,相信也有一堆人利用自訂選單的功能,建新的工具列,再指定巨集,就有新的自組功能可以用了。
不過,到了Office 2007,UI界面設計的方式,出乎意料之外,來個大變革~~以往內建的自訂工具列功能,熊熊的不見去~~那….怎麼辦呢?
就筆者的經驗,和MSDN做好朋友,會是解決問題的某一個好方法。
不過,MSDN沒有很多的中文,學好英文,也相當重要囉~~
@_@
那如何把VBA程式加到2007或2010上功能選單呢?整理一下網路上的文件,給大家參考一下囉。
1.     請下載 Office 2007 Custom UI Editor,裝好備用。
2.     寫好你的VBA程式。如筆者用EXCEL錄了股價自動下載巨集。錄好之後,把程序名稱修改為如下的內容,之後,在Excel 2007 中,把它儲存”啟動巨集的工作表” 文件。
Sub Macro1(control As IRibbonControl)
'
' Macro1 Macro
'
ActiveWorkbook.RefreshAll
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://tw.stock.yahoo.com/q/q?s=2330", Destination:=Range("$A$1"))
        .Name = "q?s=2330"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlSpecifiedTables
        .WebFormatting = xlWebFormattingNone
        .WebTables = "6"
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
   
End Sub
3.     在裝好的UI編輯器中開啟這個文件。並且輸入下面的內容:
<?xml version="1.0" encoding="utf-8" ?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" >
 <ribbon>
    <tabs>
      <tab id="myTab" label="My Tab"> tab頁的名字
        <group id="group1" label="Group 1">   頁裡的群組名字
          <button id="myButton" label="My Button"
                  imageMso="HappyFace" size="large"
                  onAction="Macro1" /> 巨集的名字
        </group>
      </tab>
    </tabs>
 </ribbon>
</customUI>
4.     儲存檔案。之後,開啟這個文件,就可以看到做好的功能表囉。

留言

這個網誌中的熱門文章

在同一份文件中,使用不同的頁首/頁尾 樣式

Word--如何將項目符號及編號轉換為一般文字,且格式不變

Excel 算會計--直線折舊法 SLN函數的使用