2017-09-18 34 views
0

我想創建一個宏,彈出一個工具欄包含按鈕爲特定的操作,但代碼工作正常,我測試了每一行,但是當我運行它從單詞PoPUP消息,並防止我跑這一點,我唐諾爲什麼 PS:我試着在谷歌和每一個勁兒地解決方案論壇
,我使用Word 2016的工作和Word 2007 這是我的代碼宏被禁用的字保密

Sub AddNewMB() 
Dim myCommandBar As CommandBar, myCommandBarCtl As CommandBarControl 
Dim myCommandBarSubCtl As CommandBarControl 

On Error GoTo AddNewMB_Err 

Set myCommandBar = CommandBars.Add(Name:="Airbus", Position:=msoBarTop, 
menuBar:=True, Temporary:=False) 
myCommandBar.Visible = True 
myCommandBar.Protection = msoBarNoMove 

Set myCommandBarCtl = myCommandBar.Controls.Add(Type:=msoControlButton) 
With myCommandBarCtl 
    .BeginGroup = True 
    .Caption = "UnGroup Shapes" 
    .Style = msoButtonCaption 
    .OnAction = "=UnGroupShapes_click()" 
End With 

Set myCommandBarCtl = myCommandBar.Controls.Add(Type:=msoControlButton) 
With myCommandBarCtl 
    .BeginGroup = True 
    .Caption = "Group Shapes" 
    .Style = msoButtonCaption 
    .OnAction = "=GroupShapes_click()" 
End With 

Set myCommandBarCtl = myCommandBar.Controls.Add(Type:=msoControlButton) 
With myCommandBarCtl 
    .BeginGroup = True 
    .Caption = "&Set Visibility Off" 
    .Style = msoButtonCaption 
    .OnAction = "=SampleMenuDisable()" 
End With 

Exit Sub 

AddNewMB_Err: 
Debug.Print Err.Number & vbCr & Err.Description 
Exit Sub 
End Sub 
Function GroupShapes_click() 
Dim MyMenu As CommandBar 
Dim myCommandBarClickMe As CommandBarControl 
Dim mydocument As Document 
Set mydocument = ActiveDocument 
On Error Resume Next 

ActiveDocument.Unprotect 'enregistré manuellement 
Dim S As Shape, t As Shape 

On Error GoTo GroupShapes_click_Err 

Set MyMenu = CommandBars("Airbus") 
Set myCommandBarClickMe = MyMenu.Controls(2) 

With CommandBars.ActionControl 

End With 


GroupShapes_click_Err: 
Debug.Print Err.Number & vbCr & Err.Description 

End Function 


    Function SampleMenuDisable() 
    Application.CommandBars("Sample Menu Bar").Visible = False 
    Application.CommandBars("Menu Bar").Visible = True 
    End Function 

我要的是防止這種情況發生在我使用的每個代碼上,併爲我使用的每個字安裝此工具欄

這是我的錯誤error

我需要一些幫助,我被困在這裏 感謝的提前

+0

'Set myCommandBar = ...'行在其末尾缺少下劃線。除此之外,您的代碼在我的PC上運行。有趣的是,命令欄在某處隱藏,但這不是代碼的錯誤。也許你可以告訴我爲什麼這樣。錯誤消息似乎指向您的安全設置的問題,而不是您的代碼。 – Variatus

+0

我不知道爲什麼,安全設置像什麼?你能分享我一些想法如何解決這個問題嗎?我真的失去了 –

+0

你的錯誤信息有一個幫助按鈕。跟着它。轉至文件>選項>信任中心>信任中心設置,查看「宏設置」,還可以查看該對話框中的所有其他選項。 – Variatus

回答

0
  1. 獨立宏從讓你煩惱的問題。您尚未確定您發佈的代碼與您收到的錯誤消息有關。採取一個新的文件,並將下面的代碼添加到它。

    Private Sub Test() 
        MsgBox "This code is running." 
    End Sub 
    

另存爲啓用宏的文檔。嘗試運行代碼。如果它運行,關閉文檔,退出Word。重新啓動Word,加載文檔,嘗試再次運行代碼。 如果代碼在這些場景中的一個或兩個場景中運行,則故障必須與包含您在上面發佈的代碼或代碼本身的文檔一起。在此發佈上述測試的結果,我們可以在那裏查找錯誤。

  1. 轉到文件 - >選項 - >信任中心 - >信任中心設置。 選擇左側的「宏設置」。你會看到一些單選按鈕。選擇一個說「啓用所有宏(不推薦;有潛在危險的代碼可以運行)」。從你的描述來看,這是你的問題的責任。如果此設置的審查未能解決您的問題,請發佈此設置對話框的屏幕截圖。
+0

我測試了第一個解決方案,它工作正常,所以我決定將我的代碼的位置更改爲另一個字,但它再次顯示錯誤,所以我認爲有些東西可以防止添加新的工具或修改原來的單詞,所以我去了第二個解決方案來測試,我修改了所有的我有一個解決方案,但我不知道這是否會起作用,如果您可以創建或修改一個類似於它的宏,以便我可以測試它,以確保更好地定位問題我的原始代碼仍然在那裏 –

+0

在您懷疑的所有程序中的所有代碼行之前放置撇號。嘗試運行代碼,首先是空過程,然後在繼續嘗試運行代碼的同時刪除撇號一行,直到找到導致錯誤的一行。正如我前面所說,代碼在我的PC上運行良好,但未能創建可見的控件。該控件已創建。我可以閱讀它的屬性,但我看不到它。我認爲這是一個不同的錯誤,可能是位置或大小,但不會拒絕你的代碼。 – Variatus

+0

好的我很快會回來重播你的評論 –