
タイトルの件、コードをご存じの方教えて下さい。
【やりたい事】
すでに、任意のIEが1ページ開いています。
同ページのサイズや表示位置を変更したいです。
下記のコードは、ヤフートップページとういうて特定の
ページの表示サイズや表示位置を指示したものです
このヤフートップページを、既に開いているページに
変更をしたいということです
【コード】
Public Sub changePosAndSize()
'IEを格納する変数(オブジェクト型)
Dim ie As Object
'IEを起動
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.Navigate2 ("https://www.yahoo.co.jp/")
With ie
.Top = 0 '上位置
.Left = 0 '左位置
.Width = 1600 '幅
.Height = 800 '高さ
.Resizable = True 'サイズ変更可否
End With
End Sub
No.4ベストアンサー
- 回答日時:
#3です
見直しましたら
>開いているページのアドレスが分からない仕様
>すでに、任意のIEが1ページ開いています。
https://www.yahoo.co.jp/ でないと言う事ですね
If objWindow.document.URL = "https://www.yahoo.co.jp/" Then
を
If objWindow.Name = "Internet Explorer" Then とかで良いかな・・
あと すでにと言うことは・・
IEに複数タブが存在するケースもありと言う事でしょうか
With ie .Top = 0 とあったので一例としてShell.Applicationにしたけれど
1タブだけなら#3で条件を変えれば・・・動くと思いますが
複数タブが存在する場合、機能しないと思いますので
WindowsAPIのSetWindowPosを使って以下のようにすれば出来ると思います(一例です macはNG)
Option Explicit
Public Const SWP_NOZORDER = &H4& 'Zオーダーを維持
Private Declare Function SetWindowPos Lib "user32.dll" ( _
ByVal hWnd As Long, _
ByVal hWndInsetAfter As Long, _
ByVal X As Long, _
ByVal Y As Long, _
ByVal cx As Long, _
ByVal cy As Long, _
ByVal uFlags As Long _
) As Long
Public Sub changePosAndSize()
Dim objIE As InternetExplorer
Dim objShell As Object, objWindow As Object
Dim flg As Boolean
Set objShell = CreateObject("Shell.Application")
For Each objWindow In objShell.Windows
If TypeName(objWindow.document) = "HTMLDocument" Then
If objWindow.Name = "Internet Explorer" Then
Set objIE = objWindow
flg = True
Exit For
End If
End If
Next
Set objShell = Nothing
If flg = True Then
Call SetWindowPos(objIE.Application.hWnd, 0, 0, -1, 1600, 800, SWP_NOZORDER)
Else
MsgBox "IEが見つかりません"
End If
End Sub
Set objIE = objWindow を#3で書いているので そのまま使って
objIE.Application.hWnd で対応(APIで特定する方法もあります)
WindowsAPIについては Private Declare Function SetWindowPos Lib など(パラメータなど)で調べてください
参考 https://www.tokovalue.jp/function/SetWindowPos.htm
_
No.3
- 回答日時:
こんばんは
やり方は色々ありますが、Shell.Applicationのコードだけです・・
Public Sub changePosAndSize()
Dim objIE As InternetExplorer
Dim objShell As Object, objWindow As Object
Dim flg As Boolean
Set objShell = CreateObject("Shell.Application")
For Each objWindow In objShell.Windows
If TypeName(objWindow.document) = "HTMLDocument" Then
If objWindow.document.URL = "https://www.yahoo.co.jp/" Then
Set objIE = objWindow
flg = True
Exit For
End If
End If
Next
Set objShell = Nothing
If flg = True Then
With objIE
.Top = 0 '上位置
.Left = 0 '左位置
.Width = 1600 '幅
.Height = 800 '高さ
.Resizable = True 'サイズ変更可否
End With
Else
MsgBox "指定IEが見つかりません"
End If
End Sub
No.1
- 回答日時:
こんばんは
ご提示のコードは、新規にIEを起動して制御するコードです。
ですので、ご質問にある「既に起動しているIE」とはあまり関係がないと言えます。
既に開いているのなら、まず最初に、「起動しているWindowを順に調べてIEを探す」必要があります。
以下のページが、ご参考になるのではないかと思います。
https://vba-create.jp/vba-ie-shell-set-objie-new …
※ 一方で、IEのサポートは既に終了していますので、通常利用としてお使いになるのはあまり勧められることではないとも思いますけれど・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- その他(パソコン・周辺機器) EXCELで「WEBオプションの対象ブラウザ」を変更する方法 2 2023/04/12 15:44
- InternetExplorer(IE) Microsoft edgeのIEモードを解除したいのですが。 3 2023/04/09 13:51
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Windows 10 パソコン初期化の件です 2 2022/06/05 11:05
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセルマクロ】既に開いて...
-
Webサイトのurlの保存方法?
-
パソコン版グーグルマップを最...
-
EdgeでInPrivate上Webページの...
-
ニコニコ動画を開くと、問題が...
-
サイトのショートカットアイコ...
-
ダウンとはどうなることを指す?
-
Flock 0.9.1.3. について
-
ホームページのショートカット
-
Chromeのホーム画面にウェブサ...
-
RealPlayerが
-
もう寿命でしょうか?
-
ボタン一つでテキストファイル...
-
フリーズ時の対処法を教えてく...
-
VMWare Player 上でフリーズ抜...
-
一つの写真を複数のフォルダー...
-
再インストール中にフリーズし...
-
IE7にヴァージョン(?)アップし...
-
「ノートンインターネットセキ...
-
windows8 タブレットについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【エクセルマクロ】既に開いて...
-
IEのマニュアルダウンロード
-
メンバーの組み合わせに使う乱数表
-
Webサイトのurlの保存方法?
-
EdgeでInPrivate上Webページの...
-
サイトのショートカットアイコ...
-
パソコン版グーグルマップを最...
-
Photoshop初心者です。PCが重い...
-
クロームの右上のダウンロード...
-
ASUS UEFI BIOS utilityという...
-
VMWare Player 上でフリーズ抜...
-
パソコンと体質的に相性が悪い...
-
エクセルでマクロ使うとフリー...
-
指定されたパスは存在しません...
-
ファンが急に回転してフリーズ...
-
QuickTime のキーボードショー...
-
デスクトップのショートカット...
-
インターネットショートカット...
-
フォルダのショートカットをバ...
-
AutoCAD立ち上げ時の立ち上がり...
おすすめ情報