2017-07-13 5 views
1

私はMS ProjectでVBAとXMLを使用してカスタムタブを作成しています。 ProjectGlobalに私は次があります。その後、私は以下のMS Project - マクロがXMLカスタムタブで動作しない

それが期待通りにボタンでタブを作成し
Sub newProjectPN() 

MsgBox "Not working yet. Please be patient :)" 

End Sub 

でモジュールを持っている

Private Sub Project_Activate(ByVal pj As MSProject.Project) 

ribbonXml = "<mso:customUI xmlns:x1=""http://schemas.microsoft.com/office/2009/07/customui/macro"" xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">" 
ribbonXml = ribbonXml + "<mso:ribbon>" 
ribbonXml = ribbonXml + "<mso:qat/>" 
ribbonXml = ribbonXml + "<mso:tabs>" 
ribbonXml = ribbonXml + "<mso:tab id=""mso_c1.497B55B8"" label=""Produtos Novos"">" 
ribbonXml = ribbonXml + "<mso:group id=""mso_c2.497B55B8"" label=""New Product"" imageMso=""ViewGoForward"" autoScale=""true"">" 
ribbonXml = ribbonXml + "<mso:button idQ=""x1:newProjectPN"" label=""New Project (NOK)"" imageMso=""CategoryCollapse"" onAction=""thisproject.newProjectPN"" visible=""true"" />" 
ribbonXml = ribbonXml + "</mso:group>" 
ribbonXml = ribbonXml + "</mso:tab>" 
ribbonXml = ribbonXml + "</mso:tabs>" 
ribbonXml = ribbonXml + "</mso:ribbon>" 
ribbonXml = ribbonXml + "</mso:customUI>" 

ActiveProject.SetCustomUI (ribbonXml) 

End Sub 

ThisProject(Global.MPT)の内部では、私がクリックしたときボタンは何もしません。 XML文字列のマクロをどのように参照するのですか?

答えて

0

解決策が見つかりました。私はXMLコードで2つの異なる名前空間を使用していました。これは私が今持っているものです。ボタンIDをidQからidに変更しました。

Private Sub Project_Activate(ByVal pj As MSProject.Project) 

ribbonXml = "<mso:customUI xmlns:mso=""http://schemas.microsoft.com/office/2009/07/customui"">" 
ribbonXml = ribbonXml + "<mso:ribbon>" 
ribbonXml = ribbonXml + "<mso:qat/>" 
ribbonXml = ribbonXml + "<mso:tabs>" 
ribbonXml = ribbonXml + "<mso:tab id=""mso_c1.497B55B8"" label=""Produtos Novos"">" 
ribbonXml = ribbonXml + "<mso:group id=""mso_c2.497B55B8"" label=""New Product"" imageMso=""ViewGoForward"" autoScale=""true"">" 
ribbonXml = ribbonXml + "<mso:button id=""newProjectPN"" label=""New Project (NOK)"" imageMso=""CategoryCollapse"" onAction=""thisproject.newProjectPN"" visible=""true"" />" 
ribbonXml = ribbonXml + "</mso:group>" 
ribbonXml = ribbonXml + "</mso:tab>" 
ribbonXml = ribbonXml + "</mso:tabs>" 
ribbonXml = ribbonXml + "</mso:ribbon>" 
ribbonXml = ribbonXml + "</mso:customUI>" 

ActiveProject.SetCustomUI (ribbonXml) 

End Sub 
関連する問題