Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : 指定なし)
IEを開くときの位置
投稿日時: 19/12/27 12:25:39
投稿者: コッスルモリ

お世話になります。
 
VBAでIEを開くときに位置指定をいれたいのですが
下記内容だとエラーが出てしまいます。
 
Sub sample()
 
Dim ie As Object
 Set ie = CreateObject("InternetExplorer.Application")
 ie.Visible = True
  
  ie.Navigate "○○.htm"
  
  
  With Object
         
        .Top = 100 'Y位置(上下)
        .Left = 200 'X位置(左右)
        .Width = 500 'IEウィンドウの幅
        .Height = 250 'IEウィンドウの高さ
 
    End With
  
 
End Sub
 
位置を指定するにはどうすればいいのでしょうか?
ご教授願います

回答
投稿日時: 19/12/27 19:50:59
投稿者: baoo

単なるケアレスミスではないでしょうか?
 
With Object → With ie
 
私の環境では上記変更で動きました。
 

投稿日時: 19/12/28 13:34:42
投稿者: コッスルモリ

baoo さんの引用:
単なるケアレスミスではないでしょうか?
 
With Object → With ie
 
私の環境では上記変更で動きました。
 

 
With ieに変更しても、オブジェクトが必要ですと表示されてしまいます・・・

回答
投稿日時: 19/12/28 14:21:10
投稿者: simple

私の環境でも正常動作しました。

Sub sample()
    Dim ie As Object
    Set ie = CreateObject("InternetExplorer.Application")
    ie.Visible = True
    ie.Navigate "https://www.moug.net/faq/viewforum.php?f=2"
    With ie
        .Top = 100    'Y位置(上下)
        .Left = 200    'X位置(左右)
        .Width = 500    'IEウィンドウの幅
        .Height = 250    'IEウィンドウの高さ
    End With
End Sub
これをそのままコピーペイストして、ステップ実行(F8)して、
どこでエラーになるか示してください。

投稿日時: 19/12/29 11:55:21
投稿者: コッスルモリ

simple さんの引用:
私の環境でも正常動作しました。
Sub sample()
    Dim ie As Object
    Set ie = CreateObject("InternetExplorer.Application")
    ie.Visible = True
    ie.Navigate "https://www.moug.net/faq/viewforum.php?f=2"
    With ie
        .Top = 100    'Y位置(上下)
        .Left = 200    'X位置(左右)
        .Width = 500    'IEウィンドウの幅
        .Height = 250    'IEウィンドウの高さ
    End With
End Sub
これをそのままコピーペイストして、ステップ実行(F8)して、
どこでエラーになるか示してください。

 
.Top = 100 'Y位置(上下)
ここで
実行時エラー424
オブジェクトが必要です
と出てきます

回答
投稿日時: 19/12/29 13:41:41
投稿者: simple

回答ありがとうございました。
そうですか、残念ながら私にはちょっと分かりません。
力及ばずです。

ie.Navigate "https://www.moug.net/faq/viewforum.php?f=2"
に先だって位置設定するよう、順序変更してみてはどうですか?
余り効果は無いようにも思いますが、試しに実行してみてください。)

回答
投稿日時: 19/12/29 14:17:18
投稿者: ちゃこ

役に立たないかもしれませんが、お邪魔します (^^♪
OSとExcelそれにIEのバージョンは?
当方Windows 10(1909)、Excel2010、IE11 ですが
Sub sample()
    Dim ie As Object
    Set ie = CreateObject("InternetExplorer.Application")
    ie.Visible = True
    ie.Navigate "https://www.moug.net/"
     
    With ie
        .Top = 100 'Y位置(上下)
        .Left = 200 'X位置(左右)
        .Width = 500 'IEウィンドウの幅
        .Height = 250 'IEウィンドウの高さ
    End With
End Sub
特に問題なく動きました (^^♪
役に立たなかったらスルーしてください♪

回答
投稿日時: 19/12/29 19:14:59
投稿者: simple

ちなみに、私の環境も書いておきましょう。
OS Win7 (64bit)
Excel 2010 (32bit)
IE 11.0.165(KB4530677)
です。
 
もう一度、確認して下さい。
下記をもう一度、コピーペイストしてください。

Sub sample()
    Dim ie As Object
    Set ie = CreateObject("InternetExplorer.Application")
    ie.Visible = True
    ie.Navigate "https://www.moug.net/faq/viewforum.php?f=2"
    
    Stop
    With ie
        .Top = 100    'Y位置(上下)
        .Left = 200    'X位置(左右)
        .Width = 500    'IEウィンドウの幅
        .Height = 250    'IEウィンドウの高さ
    End With
End Sub

途中で止まりますから、ローカルウインドウを見て下さい。
ieというオブジェクトが表示されているはずです。(ページが表示されたんですから)
 
そこで、ieの左にある+印をクリックして、プロパティの値を確認して下さい。
TopとかLeftなどの数値はどうなっていますか?

トピックに返信