
Sub Sample()
Dim i As Long
i = Shell("notepad.exe", vbNormalFocus)
End Sub
このコードだと、多分前回開いた時と同じ位置・大きさで開いてしまうのですが、
Sub Sample()
Dim objIE As InternetExplorer
Set objIE = CreateObject("InternetExplorer.application")
objIE.Visible = True
objIE.Top = 0
objIE.Left = 0
objIE.Width = 500
objIE.Height = 500
Set objIE = Nothing
End Sub
のように、サイズを指定して開く方法はありますか?
メモ帳に限らず、Shell関数を使ってアプリケーションを開くときに
サイズや位置を指定する方法を教えてください。
No.1ベストアンサー
- 回答日時:
Shell は、実行ファイルを実行するだけ、つまりメモ帳などを起動するだけの関数です。
メモ帳のようにオートメーションに対応していない(CreateObject で作製できない)アプリケーションでは、起動後に API 関数で設定することになるかと思います。参考 URL では、Shell で起動したウィンドウを AppActivate でアクティブにし、そのハンドル(Windows が管理に用いている各ウィンドウの番号)を GetForegroundWindow で取得し、GetWindowPlacement で位置・大きさを取得し、その一部を修正して SetWindowPlacement で設定しています。
余談ですが、質問文のように位置などを指定せず単に起動するだけなら、次のとおり変数の宣言は不要です。
Sub Sample()
Shell "notepad", vbNormalFocus '「notepad.exe」でもよい
End Sub
参考URL:http://www.moug.net/tech/acvba/0010014.html
CreateObject関数を使わずに開くアプリケーション(=オートメーションに対応していないアプリケーション)
を操作する場合はAPIを使えばいいのですね。
とてもわかりやすい説明ありがとうございます。
APIでやってみます。
私の提示したコードは、iは余計だったようですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) EXCEL VBAで NHK NEWSの NEWSデータ内容取得が できない 1 2023/04/09 12:26
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Visual Basic(VBA) QRコード作成マクロについて 3 2022/11/26 16:55
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
送られる内容
-
ホームページビルダー8
-
Ms draw を使ってみたい
-
VB2008で作成したアプリケーシ...
-
Xwinについて
-
VBからExcelのテキスト...
-
CPU使用率100%・・・
-
別プログラムの起動の仕方に関して
-
ライセンス認証サーバー
-
メモ帳を好きな位置で開くには?
-
何点かあるのですが・・・
-
下記のアプリケ-ションの役割り...
-
パソコンの起動が遅く、おもた...
-
Java でイメージの挿入は行えま...
-
VBからaccess UserControl
-
Xcodeでのアプリケーションの発...
-
キーボードで、英字が先に表示...
-
もう一度質問させてもらいます...
-
韓国のOSで文字化けしてしま...
-
ログオフ状態からのスクリーン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フレームワーク「4.8.1」で、[S...
-
コンソールアプリケーションの...
-
Vba アプリケーションが立ち上...
-
初回接続の遅い原因について
-
VBSでのSendKeysでの画面の最小化
-
イラストレーターCS4のシリアル...
-
pccNTmon.exeとntrtscan.exeの違い
-
VB.NETでMessageBoxを表示した...
-
VB6の強制終了について
-
OSによるWinExecの動...
-
C#でGUI・CUIの判断する仕方を...
-
vb6で異なるのプロジェクト間で...
-
対象のアプリケーションが終了...
-
WSH(VBScript)でアプリケーショ...
-
VB6での二重起動(複数起動)の制...
-
必須コンポーネントと起動条件...
-
アプリケーションをVBS(WSH?)で...
-
Windowsプログラムのビジー状態...
-
自分自身を更新するプログラム
-
httpd.pidって何ですか?
おすすめ情報