2016-08-01 59 views
1

我正在嘗試創建一個允許我爲列中的所有條目添加前綴的Excel加載項。Excel加載項無法正常運行

我想我想出了一些代碼來做到這一點,但不幸的是,我不斷收到一個錯誤消息,「宏可能無法在此工作簿或所有宏可用被禁用。 。!安全設置

我希望能夠簡單地選擇文本,使用該插件,並有加入到每一列的前綴歡呼和感謝這麼多的尋找到這個

下面的代碼:

Private Sub Workbook_AddinInstall() 



On Error Resume Next 'Just in case 

'Delete any existing menu item that may have been left. 

Application.CommandBars("Worksheet Menu Bar").Controls("Super Code").Delete 

'Add the new menu item and Set a CommandBarButton Variable to it 

Set cControl = Application.CommandBars("Worksheet Menu Bar").Controls.Add 

'Work with the Variable 

    With cControl 

     .Caption = "Super Code" 

     .Style = msoButtonCaption 

     .OnAction = "MyGreatMacro" 

     'Macro stored in a Standard Module 

    End With 



On Error GoTo 0 


End Sub 
Private Sub Workbook_AddinUninstall() 



On Error Resume Next 'In case it has already gone. 

Application.CommandBars("Worksheet Menu Bar").Controls("Super Code").Delete 

On Error GoTo 0 

End Sub 

Private Sub AddTextOnLeft() 
'Updateby20131128 
Dim Rng As Range 
Dim WorkRng As Range 
Dim addStr As String 
On Error Resume Next 
xTitleId = "KutoolsforExcel" 
Set WorkRng = Application.Selection 
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8) 
addStr = Application.InputBox("Add text", xTitleId, "", Type:=2) 
For Each Rng In WorkRng 
Rng.Value = addStr & Rng.Value 
Next 
End Sub 

回答

0

for OnActi您所代替分配「MyGreatMacro 'AddTextOnLeft'

應該

.OnAction = "AddTextOnLeft" 

,而不是

.OnAction = "MyGreatMacro" 
+0

感謝評論!改變了這一部分,但不幸的是我仍然得到相同的錯誤。 –

+0

這是因爲您將在私有模塊中使用您的代碼[例如:ThisWorkbook或Sheet1(Sheet1)]。因此它找不到AddTextOnLeft例程。因此,通過創建一個新模塊在公共模塊中插入相同的代碼。右鍵單擊你的項目選擇插入 - >模塊,並將其插入那裏,它將工作 –

+0

我試着打開一個新的Excel電子表格,進入開發人員模式,並添加新的代碼到一個新的模塊。然後我將excel文件保存爲.xlam。我在選項 - >加載項 - >管理下添加了廣告輸入,但現在加載項根本無法在加載項選項卡下顯示。任何幫助將不勝感激,謝謝! –