|
ユーザ設定で作ったツールバーを使う時に、下記のようなエラーが出ると言う質問が多く見られます。
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
|
|