Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1911 / 13645 ツリー ←次へ | 前へ→

【70865】Excel.officeUIのカスタマイズ 美貴 12/1/8(日) 21:22 質問[未読]
【70867】Re:Excel.officeUIのカスタマイズ きぬあさ 12/1/9(月) 16:16 回答[未読]
【70873】Re:Excel.officeUIのカスタマイズ 美貴 12/1/11(水) 18:32 お礼[未読]
【70892】Re:Excel.officeUIのカスタマイズ 美貴 12/1/13(金) 5:53 質問[未読]
【70898】Re:Excel.officeUIのカスタマイズ きぬあさ 12/1/13(金) 10:11 回答[未読]
【70904】Re:Excel.officeUIのカスタマイズ 美貴 12/1/14(土) 2:32 お礼[未読]
【71075】Re:Excel.officeUIのカスタマイズ 美貴 12/1/27(金) 21:38 お礼[未読]

【70865】Excel.officeUIのカスタマイズ
質問  美貴  - 12/1/8(日) 21:22 -

引用なし
パスワード
   美貴です♪

こんばんワぁ♪

先日ご質問してた案件の続きなんですが
treeの階層が深くなって見づらい状態ですので
新規に登録させて下さい。
(ワガママばっかりでですみません(>_<))

先日は、QATのコマンド登録の変更(アイコン、マクロリンク)に
ついてサポート頂き大変感謝しております。
あともうひとつ、「リボン」の部分のマクロリンクについて
教えて下さいませ♪

 <mso:tabs>
   <mso:tab idQ="mso:TabView" insertBeforeQ="mso:TabReview" />
   <mso:tab id="mso_c1.204896" label="" insertBeforeQ="mso:TabReview">
    <mso:group id="mso_c2.204896" label="NewGroup" autoScale="true">
     <mso:control idQ="mso:GetExternalDataFromAccess" visible="true" />
     <mso:button idQ="x1:C:_Documents_and_Settings_AAAAA_Application〜

一部抜粋ですが、最後のidQのところと、それに続く「onAction」の記述を
書き換えたいです。
つまるところ、QATの場合に
.SelectNodes("mso:customUI/mso:ribbon/mso:qat/mso:sharedControls/mso:button")
となっていた部分を、リボンの場合はどうしたらいいのか?
になると思います。

ご指摘&おすすめ頂いたアドイン化についても考えて行きたいと思います。
今回は、時間の関係で
Excel.officeUIのカスタマイズで急場をしのぎたいですぅ(>_<)

どうぞよろしくお願い致します。

【70867】Re:Excel.officeUIのカスタマイズ
回答  きぬあさ  - 12/1/9(月) 16:16 -

引用なし
パスワード
   こんにちは。

一部抜粋といっても肝心な部分が出ていないように思いますが、それはともかくとして、クイックアクセスツールバーの場合は下記のような構造で

<mso:customUI …
 <mso:ribbon>
  <mso:qat>
   <mso:sharedControls>
    <mso:button …
   </mso:sharedControls>
  </mso:qat>
 </mso:ribbon>
</mso:customUI>

下記のように指定していました。

mso:customUI/mso:ribbon/mso:qat/mso:sharedControls/mso:button

それに対してリボンの場合は下記のような構造になっているかと思います。
どのような階層になっているのかを見れば、どこを変更すれば良いのかが分かるだろうと思います。

<mso:customUI …
 <mso:ribbon>
  <mso:tabs>
   <mso:tab …
    <mso:group …
     <mso:button …
    </mso:group>
   </mso:tab>
  </mso:tabs>
 </mso:ribbon>
</mso:customUI>

【70873】Re:Excel.officeUIのカスタマイズ
お礼  美貴  - 12/1/11(水) 18:32 -

引用なし
パスワード
   ▼きぬあさ さん:

こんばんはぁ♪

いろいろ推測してやってみますね(^。^)

ありがとうございましたぁ♪

【70892】Re:Excel.officeUIのカスタマイズ
質問  美貴  - 12/1/13(金) 5:53 -

引用なし
パスワード
   ▼きぬあさ さん:

おはようございますー♪

うまくいかないです(>_<)

 With CreateObject("Msxml2.DOMDocument")
 
  .async = False
  If .Load(入力2officeUI) Then
   For Each n In .SelectNodes("mso:customUI/mso:ribbon/mso:tabs/mso:tab _
      & "/mso:group/mso:control/mso:button")
    If InStr(n.getAttribute("idQ"), 開発ユーザ) Then
     s = n.getAttribute("idQ")
     s = Replace$(s, 開発ユーザ, ユーザ名)
     n.setAttribute "idQ", s
     s = n.getAttribute("onAction")
     s = Replace$(s, 開発ユーザ, ユーザ名)
     n.setAttribute "onAction", s
    End If
   Next
   
   .Save 出力2officeUI
  End If
 End With

これでNGでしたので、下記に書き換えると
今度は実行時エラーになりました。(>_<)

   For Each n In .SelectNodes("mso:customUI/mso:ribbon/mso:tabs/mso:tab id=""mso_c1.204896""" _
      & "/mso:group id=""mso_c2.204896""/mso:control/mso:button")

どうしたらいいでしょうか(^_^;)
どうぞよろしくお願い致します。

【70898】Re:Excel.officeUIのカスタマイズ
回答  きぬあさ  - 12/1/13(金) 10:11 -

引用なし
パスワード
   こんにちは。

SelectNodesメソッドの引数の式に一部誤りがあるように思います。
いきなり「If InStr(n.getAttribute("idQ"), 開発ユーザ) Then …」のように処理を書くのではなく、まずは下記のようにLengthプロパティを確認して、0になっていない = データがちゃんと取得できているのを確認してから(0になっている場合は式を見直してから再度試してみる)処理を書いてみてはいかがでしょうか。

Debug.Print .SelectNodes("mso:customUI/mso:ribbon/mso:tabs/mso:tab/mso:group/mso:control").Length

ちなみに、目的のデータをどのように取得したら良いのかは下記Webページが参考になるのではないかと思います。

h_t_t_p://goo.gl/56KF5
h_t_t_p://goo.gl/hzPES
h_t_t_p://goo.gl/hzPES
h_t_t_p://goo.gl/8EfJ2

その他「VBA SelectNodes XPath」といったキーワードで検索しても、参考になるページがヒットするかと思います。

【70904】Re:Excel.officeUIのカスタマイズ
お礼  美貴  - 12/1/14(土) 2:32 -

引用なし
パスワード
   ▼きぬあさ さん:

こんばんは♪

色々教えて頂き、ありがとうございます。(^_^;)
自分で汗をかかないとダメですね(>_<)
ついつい甘えてしまましたぁ(>_<)

またよろしくお願い致します♪

【71075】Re:Excel.officeUIのカスタマイズ
お礼  美貴  - 12/1/27(金) 21:38 -

引用なし
パスワード
   ▼きぬあさ さん:

こんばんは♪

For Each n In .SelectNodes("mso:customUI/mso:ribbon/mso:tabs//mso:button")

で検索することで
私のやりたいことは解決しました。
どうもありがとうございました。

P.S.
先日XMLの入門書をアマゾンで購入しました。
でも、ページを開いたとたんに眠くなっちゃったぁ(>_<)

1911 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free