[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『リボンXMLの書き方(カスタムUIにセルの値を表示させたい)』(XML未経験者)
ずっとウェブ上で探しているのですがどうしてもやり方が分からないため、詳しい方、是非ご教示頂けないでしょうか!
【やりたいこと】
エクセルのオリジナルのリボンに、セルの値を動的に表示させたいが、xmlの記述方法が分からない。
【状況】
.relsに関連付け完了
CustomUIフォルダ作成完了
CustomUI14.xmlファイル作成完了
CustomUI14.xmlの内容を作成中。グループ作成、ボタンの設置、画像指定、ラベル記載、マクロの呼び出し(onAction)、ここまではウェブに情報があるので理解し、また実装に成功。
困っているのは、ただ純粋にテキスト(セルの値)を表示させるにはどうしたらよいか分からないことです。具体的には、セルにある日付やいくつかの情報を常にリボンに表示して参照できるような状態を作りたいのですが、xml側でセルの値を取得すればいいのか、vba側で実装すればよいのかすら分からない状況です。
なお、vbaは分かるのですがxmlはほとんど未経験のため、優しくご教示いただけましたら幸いです。
< 使用 Excel:Office365、使用 OS:Windows10 >
回答ではなくて失礼しますが、教えて貰えますか? 随分難しいことに挑戦されるんですね? 回答がつかないのは、余り類例を見たこともないからかも知れませんね。 テキストを表示するとなると、コントロールはラベルコントロールか、エディットボックスなんですかねえ。
参考までに、どういう背景なのかもう少し教えていただけないですか? 1)それは表示するだけのものですか? リボンインターフェイスは、なにかのコマンドを実行させるためのものかと思っていたのですが、 表示のみが目的ですか? 2)常時表示が目的だとすると、ホーム だけに限らず、すべてのリボンに表示するんですか? 3)ホームや挿入はかなり表示するための余裕が乏しいですが、既存のものを非表示にすることも想定内ですか? 4)表示するものは、各シート毎に違うものなんですか?
・例えば最初の2行だけを表示用に使う(「ウインドウ枠の固定」の利用)のではダメなんですか? ・表示用のシートを作りウインドウを整列表示する案、ユーザーフォームに表示する案、等はNGですか? (γ) 2022/11/04(金) 06:28:32
こちらが参考になると思います。
ラベルを動的に設定する(getLabel) http://suyamasoft.blue.coocan.jp/Ribbon/ReverseResolution/getLabel/index.html
ちょっと乱暴ですが、コードをこんな風に書き換えます
'標準モジュール Public rbRibbon As IRibbonUI '
Sub getLabel(control As IRibbonControl, ByRef returnedVal) ' ボタンのlabelを設定する returnedVal = ActiveCell.text End Sub
でシートモジュールで、 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Module1.rbRibbon.InvalidateControl "button1" ' 表示を更新する End Sub
こうすると、 シートで選択範囲を変更する=>Worksheet_SelectionChangeが走る=>rbRibbon.InvalidateControl "button1" により、buttonのgetLabelが走る =>ボタンのラベルが書き換えられる
ステータスバーを使うのではだめですか? (´・ω・`) 2022/11/04(金) 09:52:39
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.