プロが教えるわが家の防犯対策術!

Excel 2010では下記のようなVBAマクロで、ブックを開いているウインドウのリサイズ
禁止が出来たのですが、Excel 2013に持って行ったところ禁止が効かなくなりました。
SDIになったことによる影響かと思いますが、Excel2013でウインドウサイズを固定するには
どうすればよいでしょうか?

Set MainWindow = Application.Windows(ThisWorkbook.Name)
With MainWindow
.EnableResize = False
''その他設定
・・・・
End With

A 回答 (1件)

いきなりEnableResize = Falseはできないです。



Dim MainWindow As Object

Set MainWindow = Application.Windows(ThisWorkbook.Name)

With MainWindow
  .WindowState = xlNormal
  ''その他設定
  ・・・・
  .EnableResize = False
End With

でいけると思います。

あと蛇足ですが仰るとおり2013からSDIになったのでActive等で指定するのではなく直接ブック名を指定するといいと思います。
    • good
    • 0
この回答へのお礼

xMAKISHIxさん返事が遅くなりすみません。
すでに .WindowState = xlNormal は試しており、現在のコードでは入っているのですが、やはり反映されません。

ウインドウの状態はApplication.WindowStateのほうで制御されて、ワークブックのWindowStateの方はつねに最大化扱いされるようになってしまったのではないかと想像しています。

2013になりワークブックの設定でのウインドウ保護もできなくなりましたので、これとも関係ある気がしています。

そもそも無理な気がしてきましたので、Resizeイベントハンドラーの中で自分自身のウインドウサイズを設定するという強引な方法で、なんとか目的は果たせました。

お礼日時:2016/02/24 17:00

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