目安箱 IV

目安箱投稿のルールはこちらをごらんください。
ご意見は電子メールで承っています。
「目安箱」は質問禁止です。技術的な質問はそれぞれの質問箱へどうぞ。

迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
229 / 277 ←次へ | 前へ→

【57】ユーザー設定で作ったツールバーの添付について
Excel  Jaka  - 04/8/2(月) 12:38 -

引用なし
パスワード
   ユーザ設定で作ったツールバーを使う時に、下記のようなエラーが出ると言う質問が多く見られます。

1、'××ブック.xls'が見つかりません。ファイル名およびファイルの
  保存場所が正しいか...。
2、'××ブック.xls'と同じ名前のファイルがすでに開いています。保存先が・・。

これらは、マクロが書いてあるブックにツールバーを添付して、ブックを閉じる時にツールバーを消すようなマクロを書いておくことで対処できます。

Sub Auto_Close()
  On Error Resume Next      '←手動で消されていた時のエラー対処。
  Application.CommandBars("ツールバー名").Delete
End Sub


ユーザー設定でツールバー等を作るときの注意。

ツールバーボタンにマクロ登録するときは、マクロの保存先を「自分ブック名」にしておく。
 ↓2つは、選択しない。
 開いているブック X
 作業中のブック  X ←これは、シート上に作ったフォームの方のボタン等に
             マクロ登録する時にマクロの保存先として使った方が
             いいです。
             2のエラーが出る時は、これを選んだからだと思いま
             す。原因は、うまく文章で書けそうにありません。


大体これで、ブックの複製、ブック名変更、ブックの移動に対応させる事ができます。
注)全く同じ名前のツールバーを2つ以上のブックに添付して使うようなことはさけて
  下さい。2つ以上のブックを同時に開いて使っている時、1つでも閉じるとツール
  バーは消されます。
  因みに、ツールバー名が同じ場合、1番最初に開いたブックのツールバーは、エク
  セルにコピーされますが、後から開いたブックのツールバーは、エクセルにコピー
  されません。

また、登録されたマクロ名を見ると、
  1、ファイル名+マクロ名
または、
  2、フルパスファイル名+マクロ名

と、書かれてあるので伝〃、と言った質問も良く見られますが、上記方法の場合、気にする必要はありません。
ブックを閉じるとツールバーを消すので、古いブック間等の情報をもったツールバーは、エクセルに残りません。
ブックを開く毎に添付されたツールバーが、新しいブック間等の情報をもって都度エクセルにコピーされます。

作ったばかり、修正したりしたエクセルのユーザー設定にあるツールバーと、ブックに添付したツールバーのブック間との関連情報を把握するようにすると色々解ってくると思います。

たったこれだけの、まとまってない貧相な文章で理解できるとは思えませんが、手短に1つ1つを明確に説明できるほどの文章作成能力を持ってません。(長々としても同じく)


以下コード

・ブックを開いた時に添付したツールバーを表示させたい。
 ツールバーの位置は、ブックに添付した時にあった位置に準ずるようです。

Sub Auto_Open()
  Application.CommandBars("ツールバー名").Visible = True
End Sub


・ブックを開いた時に添付したツールバーを左に表示させたい。

Sub Auto_Open()
  With Application.CommandBars("ツールバー名")
     .Position = msoBarLeft
     .Visible = True
  End With
End Sub

他の位置については、

ヘルプより
Position プロパティ
            
指定したコマンド バーの位置を設定します。使用できる定数は、MsoBarPosition クラスの msoBarLeft、msoBarTop、msoBarRight、msoBarBottom、msoBarFloating、msoBarPopup、msoBarMenuBar のいずれかです。値の取得および設定が可能です。長整数型 (Long) の値を使用します。


・ブックを開いた時に添付したツールバーを左上(通常時のA1辺り)に表示させたい。

Sub Auto_Open()
  On Error Resume Next
  AcRg = ActiveCell.Address
  With ActiveWindow.VisibleRange
    AcTp = Mid(.Address(0, 0), 1, InStr(1, .Address(0, 0), ":") - 1)
  End With
  Application.Goto reference:=Range("A1"), scroll:=True

  With Application.CommandBars("ツールバー名")
    .Left = ActiveWindow.PointsToScreenPixelsX(Range("A1").Left)
    .Top = ActiveWindow.PointsToScreenPixelsY(Range("A1").Top)
    .Visible = True
  End With
  Application.Goto reference:=Range(AcTp), scroll:=True
End Sub


・ブックを開いた時に添付したツールバーを標準ツールバーの右に表示させたい。

Sub Auto_Open()
  On Error Resume Next
  With Application
    yoko = .CommandBars("Standard").Width + .CommandBars("Standard").Left
    tate = Application.CommandBars("Standard").RowIndex
  End With

  With Application.CommandBars("ツールバー名")
    .Position = msoBarTop
    .Left = yoko
    .RowIndex = tate
    .Visible = True
  End With
End Sub


・ブックを開いた時に添付したツールバーを書式設定バーの右に表示させたい。

Sub Auto_Open()
  On Error Resume Next
  With Application
    CbFtLt = .CommandBars("Formatting").Left
    yoko = .CommandBars("Formatting").Width + .CommandBars("Formatting").Left
    tate = Application.CommandBars("Formatting").RowIndex
  End With

  With Application.CommandBars("ツールバー名")
    .Position = msoBarTop
    .Left = yoko
    .RowIndex = tate
    .Visible = True
  End With
End Sub
3,663 hits

【57】ユーザー設定で作ったツールバーの添付について Jaka 04/8/2(月) 12:38 Excel[未読]

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
229 / 277 ←次へ | 前へ→
ページ:  ┃  記事番号:   
0
(SS)C-BOARD v3.8 is Free