| 
    
     |  | ▼とっちゃん さん: 
 >「タスクバーを自動的に隠す」機能があるとは知りませんでした。
 >とりあえず、これでしのぐ事を検討しますが、最終的には
 >タスクバーを最下段にする(慣れて頂く)のが最良の様ですね。
 
 ちょっとちがうと思いますけど?
 
 Applicationウィンドウを最大化してタスクバーにはお隠れになって
 もらうのでなく、タスクバーが「常に前面に表示」になっているときは
 タスクバーをのぞくデスクトップエリアにExcel Windowを表示するのが
 スジかと思います。
 
 ちょっと調べてみましたら、タスクバーを除いたワークエリアを取得する
 には SystemParametersInfo というAPI えばそれができるそうで、
 試しに 標準モジュールに 以下をコピーして、
 タスクバーのオプションを「常に表示」にしてから
 タスクバーを画面の最上部や右端にドラッグして
 Sub Try1()
 を実行してみてください。
 
 '-------------------------------- 標準モジュール
 Option Explicit
 
 Private Type RECT
 Left As Long
 Top As Long
 Right As Long
 Bottom As Long
 End Type
 
 ' SystemParametersInfo 関数
 Private Declare Function SystemParametersInfo Lib "USER32.DLL" _
 Alias "SystemParametersInfoA" ( _
 ByVal uAction As Long, _
 ByVal uParam As Long, _
 ByRef lpvParam As Any, _
 ByVal fuWinIni As Long _
 ) As Long
 
 Private Const SPI_GETWORKAREA = 48 'ワークエリア取得
 
 Private Declare Function GetDC Lib "user32" _
 (ByVal hWnd As Long) As Long
 Private Declare Function ReleaseDC Lib "user32" _
 (ByVal hWnd As Long, ByVal hDC As Long) As Long
 Private Declare Function GetDeviceCaps Lib "gdi32" _
 (ByVal hDC As Long, ByVal nIndex As Long) As Long
 
 
 Sub Try1()
 Dim hDC As Long
 Const LOGPIXELSX = 88
 Const LOGPIXELSY = 90
 Dim ToPointX As Double, ToPointY As Double
 
 hDC = GetDC(0)
 ' 画面上のdpiを取得、Point長に変換する係数を得る
 ToPointX = 72 / GetDeviceCaps(hDC, LOGPIXELSX)
 ToPointY = 72 / GetDeviceCaps(hDC, LOGPIXELSY)
 ReleaseDC 0, hDC
 
 Dim Rec As RECT
 Dim ok As Long
 ' ワークエリアの長方形を取得
 ok = SystemParametersInfo(SPI_GETWORKAREA, 0&, Rec, 0&)
 
 'Excelウィンドウを ワークエリアいっぱいにセット
 With Application
 .WindowState = xlNormal
 .Left = Rec.Left * ToPointX
 .Top = Rec.Top * ToPointY
 .Width = (Rec.Right - Rec.Left) * ToPointX
 .Height = (Rec.Bottom - Rec.Top) * ToPointY
 End With
 
 End Sub
 '------------------------------------------------ ここまで
 
 うまく表示されるようでしたら、このコードをそっくり
 マクロのあるBookの ThisWorkbookモジュールに転記し、
 Sub Try1()
 を
 Private Sub Workbook_Open()
 に名前を変えて、運用してください。
 
 |  |