[[20221020195032]] 『「VBAについて、Excel2013以降でウィンドウサイズ』(あすぱら) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『「VBAについて、Excel2013以降でウィンドウサイズの」[tetsu828] について』(あすぱら)

投稿
[[20171206191137]] 『VBAについて、Excel2013以降でウィンドウサイズの』(tetsu828) 
について...

Excel2013以降のSDI化に伴い、新たなウィンドウサイズの固定方法について
これって結論固定するのは不可能なんですかね?
パワーシェルとかならできるとか?
調べても明確な回答は得られませんでした。
ご教授下さい。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 どんなコードで試してみたのですか?
 希望する配置を行う動作を
 マクロ記録してみたらよいのでは?
  
(γ) 2022/10/20(木) 21:54:29

Accessウィンドウのサイズを固定する | hatena chips
https://hatena19.com/fix-size-of-access-window/

上記でWinAPIを使って、Accessウィンドウのサイズの固定をしています。
これを応用すればできそうに思います。

やってみました。

 Option Explicit

 Public Declare PtrSafe Function SetWindowPos Lib "user32" _
   (ByVal hwnd As LongPtr, _
    ByVal hWndInsertAfter As LongPtr, _
    ByVal X As Long, ByVal Y As Long, _
    ByVal cx As Long, ByVal cy As Long, _
    ByVal wFlags As Long) As Long
 Public Declare PtrSafe Function GetSystemMenu Lib "user32" _
   (ByVal hwnd As LongPtr, _
    ByVal bRevert As Long) As LongPtr
 Public Declare PtrSafe Function RemoveMenu Lib "user32" _
   (ByVal hMenu As LongPtr, _
    ByVal nPosition As Long, _
    ByVal wFlags As Long) As Long

 Public Const SWP_NOMOVE = &H2
 Public Const SWP_NOSIZE = &H1
 Public Const HWND_TOP = &H0
 Public Const SC_SIZE = &HF000
 Public Const SC_MAXIMIZE = &HF030
 Public Const SC_CLOSE = &HF060
 Public Const SC_RESTORE = &HF120
 Public Const MF_BYCOMMAND = &H0&

 Public Sub BookWinFixed()
    Dim hwnd As LongPtr
    hwnd = Application.hwnd
    SetWindowPos hwnd, HWND_TOP, 0, 0, 800, 600, SWP_NOMOVE
    hwnd = GetSystemMenu(hwnd, 0)
    RemoveMenu hwnd, SC_SIZE, MF_BYCOMMAND
 End Sub

 BookWinFixedを実行すると800×600のサイズに固定されました。

(hatena) 2022/10/20(木) 22:13:19


ありがとうございます!
参考にします!
(あすぱら) 2022/10/21(金) 08:39:24

 Top、Left に値を指定することで表示位置を指定できます。
 Height、Width の値を増減させるとウィンドウの大きさが変わります

 Sub ウィンドウサイズ()
    Dim wds As Window
    Set wds = ThisWorkbook.Windows(1)
    wds.WindowState = xlNormal
    wds.Height = 718.5
    wds.Width = 639
    wds.Top = 0
    wds.Left = 0
 End Sub

 これはExcel2000で作成したものでした。
 Excel2013で使用できるか不安だったんですけど

(?) 2022/10/21(金) 17:40:50


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.