Excel VBA質問箱 IV

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

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


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

【49512】改ページプレビュー中、CommandBarsで設定した右メニューが表示されなくなる oscar900 07/6/8(金) 13:19 質問[未読]
【49513】Re:改ページプレビュー中、CommandBarsで設... Jaka 07/6/8(金) 13:33 発言[未読]
【49514】Re:改ページプレビュー中、CommandBarsで設... oscar900 07/6/8(金) 13:53 質問[未読]
【49516】Re:改ページプレビュー中、CommandBarsで設... Jaka 07/6/8(金) 14:27 発言[未読]
【49523】Re:改ページプレビュー中、CommandBarsで設... Lindy 07/6/8(金) 16:42 発言[未読]
【49526】Re:改ページプレビュー中、CommandBarsで設... oscar900 07/6/8(金) 16:59 お礼[未読]
【49528】Re:改ページプレビュー中、CommandBarsで設... Lindy 07/6/8(金) 17:07 発言[未読]
【49530】Re:改ページプレビュー中、CommandBarsで設... oscar900 07/6/8(金) 17:34 お礼[未読]
【49531】Re:改ページプレビュー中、CommandBarsで設... Lindy 07/6/8(金) 17:54 発言[未読]
【49536】Re:改ページプレビュー中、CommandBarsで設... oscarc900 07/6/9(土) 13:59 お礼[未読]

【49512】改ページプレビュー中、CommandBarsで設...
質問  oscar900 E-MAIL  - 07/6/8(金) 13:19 -

引用なし
パスワード
   CommandBarsで追加した右メニュー項目が、改ページプレビューを行なうと表示されなくなってしまいます。また、表示を標準に戻すとメニューが元のように表示されるようになります。
改ページプレビュー中でも右メニューが表示されるようにしたいのですが、方法はありますでしょうか?
ご存知の方がいらしたら教えて下さい。

【49513】Re:改ページプレビュー中、CommandBarsで...
発言  Jaka  - 07/6/8(金) 13:33 -

引用なし
パスワード
   ここのリンク先のV3はもうありませんが、ここだけでもわかると思います。
Http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=5030;id=excel

【49514】Re:改ページプレビュー中、CommandBarsで...
質問  oscar900 E-MAIL  - 07/6/8(金) 13:53 -

引用なし
パスワード
   ご回答ありがたかったのですが、んんんんんんん、、、分かりませんでした。
私にはメニュー項目の追加ロジックだけのように見えましたが・・・(----!!!

【49516】Re:改ページプレビュー中、CommandBarsで...
発言  Jaka  - 07/6/8(金) 14:27 -

引用なし
パスワード
   右クリックメニューが二つある
が、ポイント。
通常と改ページプレビューの右クリックメニューは別物。
どちらか1つしか作っていなかったら、どちらかは表示されなくて当然となります。

改ページプレビューに作る場合は、紛らわしいことにどちらも「cell」で作成。
通常シートと改ページプレビューの画面で1個づつ作るか、
ループさせてコマンドバーの種類を判定させる・・・・。

判定....??
どこを比較するんだしたっけ?りんさん。
改ページプレビューが嫌いな人間なんで、覚えてません。
すみません。

【49523】Re:改ページプレビュー中、CommandBarsで...
発言  Lindy  - 07/6/8(金) 16:42 -

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

初心者なりに作ってみた事があるので参考になれば・・・
(間違っていたらごめんなさい><)

Sub RightMenuAdd_test()
Dim c As Object
For Each c In Application.CommandBars
 With c
  If .ID = 424 Or .ID = 427 Then 'Cell の場合
   '===Cellに追加する右クリックメニュー===
  End If
  
  If .ID = 425 Or .ID = 428 Then 'Row の場合
   '===Rowに追加する右クリックメニュー===
  End If
  
  If .ID = 426 Or .ID = 429 Then 'Column の場合
   '===Columnに追加する右クリックメニュー===
  End If
 End With
Next
End Sub

【49526】Re:改ページプレビュー中、CommandBarsで...
お礼  oscar900 E-MAIL  - 07/6/8(金) 16:59 -

引用なし
パスワード
   Lindyさん

こんにちは
ありがとうございます。

>Sub RightMenuAdd_test()
>Dim c As Object
>For Each c In Application.CommandBars
> With c
>  If .ID = 424 Or .ID = 427 Then 'Cell の場合
>   '===Cellに追加する右クリックメニュー===
>  End If

今回私はcellの追加をしています。
ので、ID が 424 と 427 で、両方作っておかなければNGってことですね!?
試してみます。

が、先程標準にてaddした時点のIDをウォッチしてみたのですが、1となってました。
んんんんん、、、よく分からなくなっちゃいました・・・
とりあえず424(標準表示?)と427(プレビュー表示?)でやってみます。

【49528】Re:改ページプレビュー中、CommandBarsで...
発言  Lindy  - 07/6/8(金) 17:07 -

引用なし
パスワード
   ▼oscar900 さん:

回答側での書込みは初めてでドキドキしてます^^;

>ID が 424 と 427 で、両方作っておかなければNGってことですね!?
だと思います。

>先程標準にてaddした時点のIDをウォッチしてみたのですが、1となってました。
これは追加したメニューのIDではないでしょうか
追加する際にIDを指定しない場合、ユーザー定義のは自動的に1になる。
みたいな内容がヘルプにあったように記憶しております。

>とりあえず424(標準表示?)と427(プレビュー表示?)でやってみます。
は、そのとおりで合っていると思います。

新規ブックで

Sub GetID()
Dim c As Object, d As Object, i As Long
With ThisWorkbook.ActiveSheet
 .Range("A1:G1").Value = _
 Array("Name", "Name(日本語)", "ID", "表示", "子Name", "子ID", "子表示")
 i = 2
 For Each c In Application.CommandBars
  For Each d In c.Controls
   .Cells(i, 1).Value = c.Name
   .Cells(i, 2).Value = c.NameLocal
   .Cells(i, 3).Value = c.ID
   .Cells(i, 4).Value = c.Visible
   .Cells(i, 5).Value = d.Caption
   .Cells(i, 6).Value = d.ID
   .Cells(i, 7).Value = d.Visible
   i = i + 1
  Next
 Next
End With
End Sub

こんなの実行してみると面白いですよ^^

【49530】Re:改ページプレビュー中、CommandBarsで...
お礼  oscar900 E-MAIL  - 07/6/8(金) 17:34 -

引用なし
パスワード
   Lindyさん
>
>回答側での書込みは初めてでドキドキしてます^^;
そうでしたか。そんなふうには感じませんでしたが。
私は回答できるような知識がありませんので、、、皆さんに教えて頂くだけですm(o)m

>>先程標準にてaddした時点のIDをウォッチしてみたのですが、1となってました。
>これは追加したメニューのIDではないでしょうか
仰る通りです。IDをセットしないでaddしてましたので。。。

>みたいな内容がヘルプにあったように記憶しております。
やりはじめの頃HELPを確認したのですが見つけられませんでした。
お恥ずかしい。もっと調べてから質問するべきでした。

>新規ブックで・・・・・・

実行してみました。
大変有意義な情報が取得できますね!
項目を1つaddする度にウォッチで構造体の中を1つ1つ確認しながらやってましたので大変でした。
これに気が付けばもっと効率良く進められたのに(^.^!!!

大変役にたち助かりました。
ありがとうございました。

【49531】Re:改ページプレビュー中、CommandBarsで...
発言  Lindy  - 07/6/8(金) 17:54 -

引用なし
パスワード
   ▼oscar900 さん:

>大変役にたち助かりました。
私のような者でもお役に立てたのでしたら嬉しい限りです^^

>今回私はcellの追加をしています。
との事でしたら・・・

Sub RightMenuAdd_test()
Dim i As Integer, idx As Integer
For i = 1 To 2
 idx = IIf(i = 1, 29, 32)
 With Application.CommandBars.Item(idx)
 
  '===ここでメニュー追加
 
 End With
Next i
End Sub

この方が簡単かもしれません。
IDだと直接CommandBarsを指定出来ないみたいですので
("Cell"などの名前なら出来るみたいですが2つあるので・・・)
インデックス番号で直接2種類の"Cell"コマンドバーを指定してしまって
2回ループさせれば・・・なんて考えてみました。

【49536】Re:改ページプレビュー中、CommandBarsで...
お礼  oscarc900  - 07/6/9(土) 13:59 -

引用なし
パスワード
   Lindyさん

こんにちは。レス遅くなりすいません。。。

>Sub RightMenuAdd_test()
>Dim i As Integer, idx As Integer
>For i = 1 To 2
> idx = IIf(i = 1, 29, 32)
> With Application.CommandBars.Item(idx)
> 
>  '===ここでメニュー追加
> 
> End With
>Next i
>End Sub
こちらのようにやってみようと思います。
色々な案をありがとうございました。

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