2014-06-05 57 views
1

我寫了一堆宏,使辦公室中的重複性任務更省時。 我不斷編輯它們,添加功能和調整。 每次,我都必須到辦公室的每位員工中去,取消隱藏他們的PERSONAL.xlsb文件,刪除舊模塊,添加新的和更新的模塊。自定義色帶永久

這些宏由功能區上的自定義選項卡進行控制,每個宏都有15個左右的按鈕,每個按鈕都會觸發一個宏。 現在,我必須在自定義選項卡上添加/刪除/更改按鈕,然後必須單獨爲辦公室的每個人完成。

我正在研究腳本上的按鈕到功能區上,但這看起來不可能從我讀過的。 我最終制作了一個customui xlsm文件,從我在本網站上看到的教程中,但這並不好,因爲如果xlsm工作簿隱藏或未打開,自定義選項卡將消失。

基本上,我希望能夠去到計算機,跨PERSONAL.xlsb和CUSTOMRIBBON.xlsm複製到XLSTART文件夾,並擁有這一切準備就緒,立竿見影。

有沒有辦法?或者它是不可能的...

回答

4

免責聲明:這個答案的信貸去Ron de Bruin。


你並不需要分開文件。您所需要的只是一個存儲功能區和代碼的文件。按照下面來看看它是如何工作...


上添加控件使用Custom UI Editors for Microsoft Office到功能區按照Ron de Bruin's tutorial

它的那樣簡單

  • 創建一個工作簿,並將其保存爲外接CustomRibbon.xlam,並將該文件中的C:\Users\yourUserName\AppData\Roaming\Microsoft\AddIns\

  • 下載Custom UI Editors for Microsoft Office。當你打開它,你要加載的CustomRibbon.xlam並右鍵單擊它並選擇Office 2010 Custom UI

enter image description here

  • 在窗口的右側粘貼以下XML

    <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
        <ribbon> 
        <tabs> 
         <tab idMso="TabHome" > 
         <group id="customGroup1" label="My Group" insertAfterMso="GroupEditingExcel"> 
          <button id="customButton1" label="Click Me" size="large" onAction="Macro1" imageMso="HappyFace" /> 
         </group> 
         </tab> 
        </tabs> 
        </ribbon> 
    </customUI> 
    
  • 保存更改並關閉程序。

  • 打開Excel,你應該看到新圖標你絲帶

enter image description here

  • 您可以在CustomRibbon.xlam宏指定到按鈕,但你必須直接打開CustomRibbon.xlam並打開VBE並插入一個模塊。然後在模塊中再次堅持以下

Sub Macro1(control As IRibbonControl) MsgBox "Hi There" End Sub

  • ,保存並關閉。請注意,在XML中,您已將OnAction屬性的值分配給Macro1。很明顯,更多的按鈕和更多的宏可以爲每個按鈕分配觸發器。

  • 打開開發人員選項卡上,單擊加載項,並確保您CustomRibbon已開啓

  • 現在打開Excel(不CustomRibbon),當你點擊色帶上的代碼笑臉按鈕在Macro1應該執行顯示

所以一個消息框,你可以看到,如果你把所有的業務邏輯和色帶的XML在CustomRibbon.xlam並保存爲一個附加的每一臺機器上,那麼當您更新該原來的CustomRibbon所有你需要做的每個客戶端只是覆蓋CustomRibbon文件一個新的。

我希望這是您正在尋找的解決方案。

+0

是的完美,謝謝,我已經遇到了另一個教程,所以我已經用customui編輯器編寫了帶有新選項卡和按鈕的.xlsm文件。 jsut不知道我所要做的就是將文件放入addins文件夾。再次感謝 – user3709812

+0

我試過了,沒有工作。我的xlsm文件可以工作,我打開它,選項卡。但我把它放在addins文件夾中,並沒有顯示 – user3709812

+0

當我把customlbbon.xlsm放到xlstart文件夾中時,它用xl打開,但只要我交換工作簿 - 標籤都不見了。如果有一種方法可以解決他們擅長一旦出現...... – user3709812

0

有關此人仍然有問題:

由於CustomRibbon.xlam文件上述應保存/位於C:\Users\yourUserName\AppData\Roaming\Microsoft\AddIns\

我不懷疑有這個運氣有人在缺少一些必填字段XML按本網站上CustomUI的:

讀自定義用戶界面代碼

在XML代碼中,你可以看到,有自定義UI的每個部分標題:

  • 命名空間
  • 絲帶
  • 標籤
  • 集團
  • 按鈕

每個項目都有一個唯一的ID,標籤,也許還有其他的屬性,比如點擊按鈕時運行的圖標和宏。

For example, here is the code for one of the buttons in the Contoso Tools group. Line breaks were added, to make the code easier to read.

Excel功能區自定義按鈕代碼

  • 的ID - customButton1 - 是獨一無二的。每個ID只能在 的代碼中使用一次。
  • 標籤 - ConBold - 將顯示在 功能區選項卡上的按鈕上的文本。
  • 圖像 - 粗體 - 也會出現在按鈕上
  • 尺寸設置爲大,因此在功能區上很容易看到。
  • onAction - conBoldSub - 是單擊該按鈕時將運行 的宏的名稱。

這是造成問題,因爲一些必要的字段(customUI,色帶,標籤..)的代碼在上面張貼的答案切斷,該工程整個完整代碼:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
    <ribbon startFromScratch="false"> 
     <tabs> 
      <tab idMso="TabHome" > 
        <group id="customGroup1" label="My Group" insertAfterMso="GroupEditingExcel"> 
        <button id="customButton1" label="Click Me" size="large" onAction="Macro1" imageMso="HappyFace" /> 
        </group> 
      </tab> 
     </tabs> 
    </ribbon> 
</customUI> 

一旦所有所需的XML字段存在,應該按預期工作。 在這一點上遵循原來的答案說明,它應該工作順利。

相關問題