人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセル2003 マクロについて
やりたいことが2つあります。

1)ファイル名を変更しても、マクロが作動するようにしたい。
できればファイルの保管先を指定しないくても良い。
(c:¥windows¥My Documentを指定しなくても、どこに保管してOKなようにしたいです)

2)数式バーを表示させない方法。
ツール->オプション->表示の中の「数式バー」で、数式を表示しないようにしています。
この方法ではなく、ファイルを開いた時点で既にオプションが触れないようにしたいのです。
作業しているファイルはシートの保護はかけているのですが、ファイルを開いたときに
この数式バーも触れないようにしたいのです。

素人なので、できればマクロのコードを「貼り付けるだけ」でできる方法を教えて下さい。
(貼り付ける場所も教えて下さい。ThisWorkBookにだとか今あるマクロのところに追加だけで良いとか)

すみませんが皆さん宜しくお願い致します。

●質問者: msvista
●カテゴリ:コンピュータ
✍キーワード:Windows すみません エクセル オプション コード
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
●0ポイント

1)

http://pc.nikkeibp.co.jp/article/column/20081022/1008955/

「XLSTART」のフォルダにマクロが入ったエクセルファイルを 置いておけばいいです。

場所は

C:\Documents and Settings\ユーザー名\Application Data\Microsoft\Excel\XLSTART

2 ● Mook
●60ポイント ベストアンサー

ファイルを読み込んだり、ファイルを保存したりするのではない場合、マクロはファイルの名前や保存場所に

影響は受けませんので(1)は今回の場合気にする必要がありません。


(2)は、数式バーを隠したいのが対象ファイルだけであるように思えましたので、対象ファイルだけを

閉じるようにした例です。


マクロは ThisWorkbook の下に置いて、保存してください。

ファイルを選択すると数式バーが閉じます。ファイルを閉じると開く前の状態に戻るようになっているはずです。

(もともと閉じていれば変わりません。)



Public originalConfig As Boolean

'--- ファイルを開く前の状態を保存
Private Sub Workbook_Open()
 originalConfig = Application.DisplayFormulaBar
End Sub


'--- ファイルがアクティブになったときに設定を無効に変更
Private Sub Workbook_Activate()
 Application.DisplayFormulaBar = False
End Sub

'--- 他のファイルが選択されたとき、元の設定に戻す
Private Sub Workbook_Deactivate()
 Application.DisplayFormulaBar = originalConfig
End Sub
◎質問者からの返答

いつも回答ありがとうございます。

1)は下のコメント欄に記入しております。

2)は説明が足りず申し訳ありません。

オプション自体を触れなくしたいのです。教えていただいた内容ですと、

単に表示させない設定であり、ツール、オプション、数式バーをチェックすると表示されてしまいます。

この操作自体をできなくしたいのです。

宜しくお願い致します。


3 ● SALINGER
●20ポイント

1) マクロ中に直接ファイル名やパスを指定する記述がある場合は、ファイル名を変更したり移動させたりした場合は当然エラーとなります。

このことはパスやファイル名に影響されないコードの書き方に変更することで解決します。

コード中のパスやファイル名のところを次のコードに置き換えることでエラーはなくなります。

ファイルのあるフォルダ:ThisWorkbook.Path
ファイル名:ThisWorkbook.Name
フルパス:ThisWorkbook.Path & "\" & ThisWorkbook.Name

2)別の人が数式を変更できなくすることが目的ならば、シートの保護でロックすれば変更はできません。

また、「ロック」の下の「表示しない」にチェックを入れると数式も表示されません。


オプションを使えなくする方法ですが、あまりお勧めしませんが以下の方法で可能です。

(利用者が元に戻せなくなる可能性もあるので)

ThisWorkbookに以下のコードをコピペしてください。

Private Sub Workbook_Open()
 Dim i As Integer
 With Application.CommandBars("Tools")
 For i = 1 To .Controls.Count
 If .Controls(i).ID = 522 Then
 .Controls(i).Enabled = False
 End If
 Next i
 End With
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Dim i As Integer
 With Application.CommandBars("Tools")
 For i = 1 To .Controls.Count
 If .Controls(i).ID = 522 Then
 .Controls(i).Enabled = True
 End If
 Next i
 End With
End Sub

コードではブックを開くとメニューのオプションを探して灰色にして、ブックを閉じるときに元に戻すコードです。

ただし、閉じるときに保存しますか?でキャンセルをするとオプションが使えるようになるという抜け道がありますが。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ