
慣れない言語で悪戦苦闘しています。
(アクティブな)ウインドウをクライアント領域一杯まで広げたときのサイズを取得する方法を教えてください。
Application.WindowState = xlMaximizedしたあと、
Windows("ブック名").Width、Windows("ブック名").Heightで取れるかと
思ったのですが、これではxlNormalの時のサイズが返ってきてしまうようです。
目的は、右下一杯までウインドウを広げて、左上は下のウインドウが見えるよう、
少し隙間をあけて開きたいためです。
No.1ベストアンサー
- 回答日時:
Application.WindowState = xlMaximized という書き方をやめ、
Windows("ブック名").WindowState = xlMaximized
Windows("ブック名").Width
Windows("ブック名").Height
という書き方に変更してみてください。("ブック名" のところで指定するブックをすべて同一のブックにする)
おそらくですが、
Application.WindowState = xlMaximized で最大化したウィンドウと
Windows("ブック名").Width でサイズを取得しようとしているウィンドウが違っているのではないかと思います。
最大化したブックで見えなくなっていますが、その後ろで Windows("ブック名") は xlNormal なままでいると思います。
Excel 2013 は SDI になりました。(SDI と MDI の違いは分かりますか?)
ブックを複数開いた状態で、すべてのブックが独立した Excel のウィンドウになっていると思います。
なので
Application.WindowState = xxx で操作対象になるのは 「現在アクティブなブックのウィンドウ」 であり、
ActiveWindow.WindowState = xxx
と同じ事になっているんじゃないかと。
Excel が MDI から完全な SDI に変わったことで、私の中で当時大変大きな話題になった記憶があります。。。
ありがとうございます。
ご指摘を受けて気づいたのですが、最終的には2013用にするマクロなのですが、2010上で、つくりながら確かめてましたので、MDI前提の質問になってしまっていました。
落ち着いてソースを眺めてみると、指摘の通り、
xlMaximized → xlNormal
してるのですが、前者だけブックの指定が抜けてました。
それ以外にも問題があり、xlMaximized で最大化したウィンドウの数字(幅、高さ)をxlNormalのウインドウにそのまま適用しても、ウインドウ自体にクローズボックスやリサイズボックスが有ったりなかったりの違いがあり、それぞれ12px,28pxほどズレてしまい、おかしな結果になっていることに気づいていませんでした。これは2010上で試した結果ですので、逆に2013では調整不要なのかもしれません。まずは、2010上では意図通りに動作するようになりましたので、これから2013で確認します。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(OS) Mac OSの操作について 2 2022/06/08 09:19
- Chrome(クローム) Google Chromeのブラウザ(PC)ウインドウの移動について 3 2022/07/19 15:14
- Google Maps googleストリートビューで大きい黒枠のウインドウが邪魔 2 2023/02/15 21:47
- Chrome(クローム) 最近Win10にてブラウザが左にスッと隠れていく現象に悩まされてます 3 2023/07/22 23:11
- その他(プログラミング・Web制作) マウスオーバー→ホイール回転でスクロールできない 2 2022/10/31 10:06
- Excel(エクセル) Excel グラフのプロットエリアについて 2 2022/08/26 18:12
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Chrome(クローム) PC版GoogleChromeでウインドウ上方に表示されるブックマークバーを消す方法 3 2023/05/12 18:45
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のエクセルファイルとシー...
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
Excel にて、 リストボックスの...
-
クリップボードに貼付している...
-
EXCEL VBA 単語置き換え につい...
-
Visual Basic VB 教えてくださ...
-
Excelマクロ 該当する値の行番...
-
Excel-VBAでのファイルの開き方
-
Dir関数で複数ブックへ行いたい...
-
VBA 別ブックからコピペしたい...
-
【前回の続き続きです、ご教示...
-
複数のブックからデータを転記...
-
EXCEL VBA シート貼り付け
-
VBSでExcelのオープン確認
-
エクセル vba ある検索値を別ブ...
-
Excel (2013) VBAでもし最大表...
-
シートをコピーする下記記述で...
-
VBA シート名が一致した場合の...
-
(マクロ)データをAブックからB...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
VBA コードを実行すると画面が...
-
VBAで別のブックにシートをコピ...
-
VBAで別ブックのシートを指定し...
-
【Excel VBA】書き込み先ブック...
-
Excelマクロ 該当する値の行番...
-
【ExcelVBA】zip圧縮されたCSV...
-
[Excel]ADODBでNull変換されて...
-
【ExcelVBA】インデックスが有...
-
Excel2007VBAファイルの表示に...
-
VBAで複数のブックを開かずに処...
-
vbaで他のブックに転記したい。...
-
エクセルマクロで、他ブックか...
-
vbaでvbaProjectのパスワード解...
-
VBA 実行時エラー 2147024893
-
【マクロ】違うフォルダにある...
おすすめ情報