既存IEのテキストボックスにEXCELの値を貼り付ける動作が不安定 削除


Message#1 2015年4月15日(水)13時39分
From: 鈴木
Excelのテキストをクリップボードに送信し、既に開いているIEのテキストボックスに貼り付けようとしています。

テスト用にhttps://www.google.co.jp/?gws_rd=sslを開いて下記を実行すると
→部分で中断する場合と貼り付けまでできる場合があります。
但し、現在は手動で、IEを最上画面にし貼り付け許可をクリックしています。

NGの場合は mystr=””になります。
何か対処方法はありますか?

Public objIE As InternetExplorer
#If VBA7 Then
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As LongPtr)
#Else
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal ms As Long)
#End If

'ダブルクリックでスタートする
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim objInpTxt As HTMLInputTextElement
Dim mystr As String
Dim objSh As Object
Dim objWin As Object
Dim winex As Boolean
Dim cURL As String

Call CBSetText(Target.Value)
Cancel = True
winex = False
Set objSh = CreateObject("Shell.Application")
For Each objWin In objSh.Windows
If TypeName(objWin.document) = "HTMLDocument" Then
winex = True
Set objIE = objWin
cURL = objIE.document.URL
End If
Next
Set objSh = Nothing
objIE.navigate ("about:blank")
→ mystr = objIE.document.parentWindow.clipboardData.GetData("text")
objIE.navigate cURL
Call IEWait(objIE)
Set objInpTxt = objIE.document.getElementsByName("q")(0)
objInpTxt.Value = mystr
End Sub
Function IEWait(ByRef objIE As Object)
Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Loop
End Function
'クリップボードにコピーする
Sub CBSetText(strValue As String)
With New MSForms.DataObject
.SetText strValue
.PutInClipboard
End With
End Sub

上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。

パスワード:

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。

ExcelのVBAで作成した役立つVBAコード

こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com