• 締切済み

IE制御でコピーをしたいのだけれど

うまくいきません ログイン後の最初のページはコピーすることができるのですが フレームを指定して objDOC.Links(18).Click としてページを進めた先がコピーできません いかに全文を載せます。自分でいろいろやってみたのですが ちょっとわかりません。教えてください! Sub 確認()   Dim objIE As InternetExplorer Dim strUserName, strPassword As String Dim Code, Suryo, Kakaku As Long strUserName = Range("AA1").Value strPassword = Range("AA2").Value Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True   'ログイン画面---------------- objIE.Navigate "https://www2…………   IE_Complete objIE objIE.Document.all.req_userId.Value = strUserName         objIE.Document.all.req_password.Value = strPassword   objIE.Document.all.LoginSubmit.Click IE_Complete objIE 'ログイン画面ここまで Dim objFRAME As FramesCollection    Set objFRAME = objIE.Document.frames    Debug.Print "フレームの数は" & objFRAME.Length    Dim objDOC As HTMLDocument    Set objDOC = objFRAME(0).Document    Set objDOC = objFRAME(0).Document        objDOC.Links(18).Click objIE.ExecWB 17, 0 objIE.ExecWB 12, 0 Sheets("コピー").Select    Cells.Select Selection.Delete Shift:=xlUp  Range("A1").Select  ActiveSheet.PasteSpecial Format:="HTML" objIE.Quit End Sub

みんなの回答

回答No.2

objDOC.Links(18).Click が、フレーム内でのリンクである(target="_top"がない)場合に、ExecWBでのコピーが正しく動作しないことが分かりました。リンク後、フレームが分割されていることが原因のようです。 手抜きですが、次のようにフレームを指定してコマンドを投げれば正しく動作しました。 objDOC.Links(18).Click IE_Complete objIE objIE.document.frames(0).document.execCommand "selectall" objIE.document.frames(0).document.execCommand "copy" 参考になれば。

回答No.1

IE_Completeがドキュメントの読み込みを待つメソッドであるのなら objDOC.Links(18).Click の後にも IE_Complete objIE を入れてみてはいかがでしょう。

0810ku
質問者

補足

ご回答ありがとう御座います。 IE_Complete objIE 入れてみましたがだめでした。 何か他にきずいたこと御座いましたら 教えてください。

関連するQ&A

専門家に質問してみよう