プロが教える店舗&オフィスのセキュリティ対策術

連続投稿すみません。お世話になってます。

シートを保護した後、シートの表示(ズーム)を変えられないようにしたいのですがどのようにすれば良いのでしょうか。70%で固定させて使ってもらいたいのです。

また、スクロールさせないようにする方法も知りたいです。

ご教示のほどよろしくお願いします。

A 回答 (1件)

こんにちは。



>シートを保護した後、シートの表示(ズーム)を変えられないよう
本来、表示(ズーム)は、相手のPC環境に依存しているので、ユーザーオプションとして固定する方法はありません。

ですから、以下のように、マクロで行う方法しかありません。

標準モジュールの Auto_Open() や
ThisWorkbook モジュールの Private Sub Workbook_Open()
に、以下の中身をそっくり入れると良いです。


Sub TestZoomFixed()
'-----------------------
  '最初にシートの選択を必ずすること
  Worksheets("Sheet1").Select
  With ActiveWindow
    If .Zoom = 100 Then
      .Zoom = 70
    End If
  End With
  With Application.CommandBars.FindControls(, 925).Item(2)
    .Enabled = False
  End With
'----------------------
End Sub

終了時などに、
標準モジュールに、Sub Auto_Close() や

ThisWorkbook モジュールに
Private Sub Workbook_BeforeClose(Cancel As Boolean)
で、以下の中身を入れてあげます。

その反対は、
ズームは保存されますから、必要がなければ、コメントブロックのままにしてよいです。ただ、他のシートも同時に開いていたブックも、メニューからズームが使えなくなっています。(解決方法はあります)
'---------------------------
  Worksheets("Sheet1").Select
  'With ActiveWindow
  '  .Zoom = 100
  '  End If
  'End With
  With Application.CommandBars.FindControls(, 925).Item(2)
    .Enabled = True
  End With
'---------------------------

>スクロールさせないようにする方法

意味がはっきり分からないというか、取り違えているかもしれませんが、スクロールさせないという意味そのものは、スクロールロックをしてしまうことになるので、たぶん違うと思います。

例えば、使わない行や列を下や右端列まで選択し、

 書式-行-非表示、
 書式-列-非表示

としてしまう方法があります。その後で、

他にも、マクロで、シート・プロパテイのScrollArea というものがあって、その範囲を設定させてしまうと、範囲から外にはスクロールが出来なくなります。

例:
ThisWorkbook モジュールなどに入れてあげます。
Worksheets("Sheet1").ScrollArea ="A1:E10"
    • good
    • 0
この回答へのお礼

大変勉強になりました!。ありがとうございました。

お礼日時:2008/02/08 07:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!