• ベストアンサー

ExcelのVBAで制御する画面の大きさを比率で制御出来ますか?

はじめまして。初心者なんで、教えて下さい。 通常、VBAでWindowの大きさを制御する場合、WidthやHeightで具体的なサイズを指定すると思いますが、 それぞれのユーザーの画面の大きさ(例えば、XGAやSVGA)で横幅の80%で表示するということは可能なのでしょうか? ぜひ、教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
noname#25230
noname#25230
回答No.2

興味があったので試してみました。 Dim ScreenSize As Long Excel.Windows.Application.DisplayFullScreen = True ScreenSize = Excel.Windows.Application.Width Excel.Windows.Application.DisplayFullScreen = False Excel.Windows.Application.Application.Width = Int(ScreenSize * 0.5) とりあえずこれでできました。 ウィンドウズの画面サイズをとる方法は、ほかにもあるかもしれませんが、ちょっと見つけられなかったので、「一度エクセルを最大化」⇒「サイズを測って」⇒「最大化解除」⇒「ウィンドウサイズを変更」という手順を踏んでいます。 ちなみに、Excel2000で試してみました。

suginami1910
質問者

お礼

回答、どうもありがとうございます。 ちゃんと出来ました。非常に参考になりました。 また、困っている時はよろしくお願いいたします。

その他の回答 (2)

noname#25230
noname#25230
回答No.3

補足というか訂正です。 すみません、提示したソース、50%になっています。自分でサイズ変更をいろいろ試した途中のものを貼り付けてしまいました。

noname#29107
noname#29107
回答No.1

試した限りでは、 Sub winset() Dim wrkw As Double, wrkh As Double With Application   .WindowState = xlMaximized   wrkw = .Width   wrkh = .Height   .WindowState = xlNormal   .Width = wrkw * 0.8   .Height = wrkh * 0.8 End With End Sub でうまくいくんじゃないかと思います。

suginami1910
質問者

お礼

回答、どうもありがとうございます。 ちゃんと出来ました。非常に参考になりました。 また、困っている時はよろしくお願いいたします。

関連するQ&A