タブレットでExcelのマクロを使用して画面の向きを固定したいと考えました。出来た。
私はコンピュータに戻ったとき、それは私に送った:
"user32のDLLエントリーポイントSetDisplayAutoRotationPreferencesを見つけた"。
screenbの向きをロックするために使用されるコードは以下の通りです:VBAでデバイスの種類を確認する
Enum ORIENTATION_PREFERENCE
ORIENTATION_PREFERENCE_NONE = 0
ORIENTATION_PREFERENCE_LANDSCAPE = 1
ORIENTATION_PREFERENCE_PORTRAIT = 2
ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED = 4
ORIENTATION_PREFERENCE_PORTRAIT_FLIPPED = 8
End Enum
Private Declare Function SetDisplayAutoRotationPreferences Lib "user32" (ByVal ORIENTATION_PREFERENCE As Long) As Long
Sub RotateToLandscape()
Dim lngRet As Long
lngRet = SetDisplayAutoRotationPreference (ORIENTATION_PREFERENCE_LANDSCAPE)
End Sub
NOTH Windowsコンピュータ上のSetDisplayAutoRotationPreferences機能がありますので、それがコンピュータ上で動作しない理由はあります。
マクロが実行されているデバイスがタブレットであるかどうかを判断する方法はありますか?または、おそらくDLLのエントリポイントのエラーを避けるために?
コンピュータのOSはWindows 7で、Excel 10 'を使用しています。
回答ありがとうございます。それでも、ユーザーがタブレットにいるのか、コンピュータにいるのかを知る方法はないのだろうか。 – Titip1995
@ Titip1995私はhttps://www.experts-exchange.com/questions/27576518/Check-if-device-is-a-desktop-or-laptop-based-on-WMIからアドバイスを取って自分の答えを編集しました。 -chassis-type.html –