在你閱讀之前(因爲這會很長),我想說我沒有解決這個問題。然而,在我試圖解決 - 然後解決 - 這個問題時,我發現了很多事情,我在這裏記錄下來,希望他們能幫助別人找到解決方案。
在試圖確定什麼控制可用於插入表的10x8網格時,我發現了名爲「TableInsertGeneral」的Word命令中列出的宏。
這個宏,根據蘇珊S. Barnhill,如果將這一功能停止在早期版本的Word(Insert Table Drop Down Missing)的運作恢復電網。宏,因爲它存在於Word 2007/2010中,無法從宏對話框的「運行」按鈕中執行。雙擊該命令將關閉該對話框,但不會公開執行其他任何操作。我另外試圖通過創建一個名爲TableInsertGeneral的VBA子集來攔截它的函數,但是當我訪問這個網格時,我放入這個子集的代碼似乎沒有被執行。然而,根據我的研究,我相信TableInsertGeneral宏與顯示10x8網格有一些聯繫。
我也嘗試通過更改Word功能區中的表格庫來解決該問題。因爲我無法直接訪問控制網格的任何代碼,所以我試圖隱藏表格庫,然後將其替換爲排除網格功能的重建庫(從而允許段落樣式和其他更改全局工作)。
首先,我下載了一些工具:
使用Microsoft Office的自定義UI編輯器(允許編輯customui。在Word 2007文檔或模板中的XML文件,而不需要創建的文件夾結構或維護XML文件之間的關係),我開了一個模板,並在文件中保存此代碼:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon>
<tabs>
<tab idMso="TabInsert">
<group idMso="GroupInsertTables" visible="false" />
<group id="CustomGroupInsertTables" label="Tables" insertBeforeMso="GroupInsertIllustrations">
<gallery id="CustomTableInsertGallery"
label="Table"
imageMso="TableInsertGallery"
size="large"
columns="1"
rows="4"
screentip="Table"
supertip="Insert or draw a table into the document."
keytip="T"
onAction="RibbonControl.galleryOnAction" >
<item id="GridMessage" label="Draw Table Via Grid Has Been Removed" imageMso="TablesGallery"
supertip="Provides information on why this template has different Ribbon controls."/>
<button idMso="TableInsertDialogWord" />
<button idMso="ConvertTextToTable" />
<button idMso="TableExcelSpreadsheetInsert" />
</gallery>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
這成功地隱瞞了原始表畫廊和更換它具有原始表格庫的一些功能。 10x8網格消失了,但我無法恢復繪製表切換按鈕和快速表庫。據我所知,XML模式不允許將其中任何一個(存在於Word 2007的現成版本中)嵌入到現有的庫中。因爲我不喜歡去除功能(即使是在這個部分解決方案,這是我沒有想到會被採用),我添加一個按鈕綁在消息框作爲重建庫中的第一項:
連接新的代碼「繪製表格通過電網已被刪除」按鈕被放在一個名爲RibbonControl模塊:但是
Sub GalleryOnAction(Control As IRibbonControl, selectedID As String, selectedIndex As Integer)
If Documents.Count = 0 Then
MsgBox "This control is disabled when there is no active document."
Exit Sub
End If
Select Case Control.id
Case "CustomTableInsertGallery"
Select Case selectedIndex
Case 0
MsgBox "Explain changes to Ribbon interface here."
Case Else
'Do Nothing
End Select
End Select
End Sub
我不希望任何人使用這個解決部分問題,如果恢復的手段兩個失蹤的控制可以實現,這可能是一個很好的解決方法。順便說一句,我適應這個最格雷格馬克西網站:
Customizing the Ribbon
如果你讀到這裏,謝謝!而且我希望你能以自己的努力取得更大的成功。
從我所知道的你不能。您可能想要更改Table Normal樣式,以便任何新插入的表格都可以獲得您的樣式。 –
@ 0xA3:我對Table Normal進行了一些更改,但問題在於表格樣式不允許您設置段落樣式。您可以更改格式的各個方面,但不適用於樣式。 (見http://www.shaunakelly.com/word/styles/custom-table-styles-2002-2003.html)。 –