|
こんにちは。
方法は色々とありますが、たとえばidQ属性に「D:_TestFiles_マクロ.xlsm」(D:\TestFiles\マクロ.xlsm)が含まれているbutton要素だけを抜き出して「D:_TestFiles_マクロ2.xlsm」(D:\TestFiles\マクロ2.xlsm)に変更する場合は下記のようなコードで処理できます。
(このあたりは自分の目的に応じて適当にコードを変更してください。)
また、マクロファイルの場所を変更する場合はonAction属性の値を変更する必要がありますのでご注意ください。
Public Sub Sample()
Dim n As Object
Dim s As String
With CreateObject("Msxml2.DOMDocument")
.async = False
If .Load("D:\Excel.officeUI") Then
For Each n In .SelectNodes("mso:customUI/mso:ribbon/mso:qat/mso:sharedControls/mso:button")
If InStr(n.getAttribute("idQ"), "D:_TestFiles_マクロ.xlsm") Then
s = n.getAttribute("idQ")
s = Replace$(s, "D:_TestFiles_マクロ.xlsm", "D:_TestFiles_マクロ2.xlsm")
n.setAttribute "idQ", s
s = n.getAttribute("onAction")
s = Replace$(s, "D:\TestFiles\マクロ.xlsm", "D:\TestFiles\マクロ2.xlsm")
n.setAttribute "onAction", s
End If
Next
.Save "D:\Excel2.officeUI"
End If
End With
End Sub
|
|