- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでディスプレイの設定変更)
VBAでディスプレイの設定変更
このQ&Aのポイント
- Accessで作成した業務用プログラムの表示倍率をVBAで変更する方法について
- Windows10(32bit)のタブレットで利用する業務用プログラムの表示倍率をデフォルトの150%に戻す方法について
- 業務用プログラムを使用する際に、VBAを利用してディスプレイの表示倍率を一時的に変更することはできるか
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
そのAccessアプリが起動(アクティブ)になるたびに切り替えるよりも その環境に合わせてフォームの拡大/縮小をユーザーさんにやってもらえば 設定作業は一度で済むと思いますがいかが? 個人的にOSの設定はなるべく変えずにAccessアプリ内で完結する方がベター だと考えています。 hatenaさんの フォーム上のコントロールのサイズを拡大/縮小する関数 http://hatenachips.blog34.fc2.com/blog-entry-346.html サンプルファイルも置いてくれていますので検証しやすいかと。 添付図はhatenaさんのコードを流用したものではありませんが オリジナルサイズと20%縮小したものです。 hatenaさんのコードの方が簡潔でエレガントです。 私の考えたのはサブフォームまでしか対応していませんし長いのですが せっかく考えたので使っています。。。
その他の回答 (1)
- hahaha86
- ベストアンサー率14% (82/576)
回答No.1
この頃組んでないので わからんが APIを呼び出せば 何でもできるよ APIの呼び出し方 http://lcl.web5.jp/prog/excel_vba/windows_api.html APIの詳細はググって ウィンドウサイズを求めれできると思う
質問者
お礼
ご回答ありがとうございます。 API、調べてみたのですが (´・ω・`)? ←こんな感じです 標準モジュールに↓これを記述してどうにかするまでは理解できたのですが。 Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, Rectangle As RECT) As Long その前に解像度とスケーリングの違いがわかっていませんでした(^_^;)
お礼
ご回答ありがとうございます。 なるほど、解像度ではなくフォームそのものを操作することは考えていませんでした。これなら私の力でもなんとかなりそうです。既存のプログラムにのせて運用試験してみたいと思います。参考リンクまで貼っていただいてありがとうございましたm(_ _)m