![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
タイトルの件、コードをご存じの方教えて下さい。
【やりたい事】
すでに、任意の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ランキング
-
エクセルで表
-
【マクロ】for next構文について
-
職場の人から聞かれており、こ...
-
ユーザー定義関数をアドイン登...
-
PDFの請求明細をエクセルにしたい
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
エクセルの関数について教えて...
-
エクセルで不等号記号(≠)が上に...
-
スプレッドシート、Excelでの数...
-
スプレッドシートで使う数式を...
-
Excelで50個のセルに同じ文字を...
-
[オートフィルタ]で抽出された...
-
エクセルの問題です。絶対値の...
-
エクセル関数を教えてください
-
各ページの1番上の表示について
-
Microsoft Officeの中古は信用...
-
pdfの表をexcelにはりつけて計...
-
Excelのif関数で文字が見えなく...
-
Excel 2019 は、SPILL機能があ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【エクセルマクロ】既に開いて...
-
Webサイトのurlの保存方法?
-
パソコン版グーグルマップを最...
-
VMWare Player 上でフリーズ抜...
-
サイトのショートカットアイコ...
-
EdgeでInPrivate上Webページの...
-
エクセルでマクロ使うとフリー...
-
Photoshop初心者です。PCが重い...
-
QuickTime のキーボードショー...
-
フォルダのショートカットをバ...
-
サイトのショートカットアイコ...
-
エクセル固まった時 その作業...
-
Microsoft Edge で InPrivateを...
-
Internet Exploerについて
-
ASUS UEFI BIOS utilityという...
-
ベクターワークス11がフリーズ...
-
パソコンがBIOSでフリーズします
-
getElementsByClassName不可
-
ファンが急に回転してフリーズ...
-
指定されたパスは存在しません...
おすすめ情報