Windows10、Office2016、Internet Explorer11で動作NG
未読分:7件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#7 2017年11月13日(月)17時59分 From: みかさ | 返事 削除 変更 |
htmlソースのほうはどうですか? outerhtmlでgetElementsByNameの要素は含まれているのか? その親要素のオブジェクトの要素は取得できるのか? などです。 htmlソースもきっちり書いていないことがあるので、そういった場合は取得できないこともあります。 > 見直し結果としては以下です。 > @貼り付け先IEのTextboxは、name”Detail”の確認OK > Aoffice2016のgetElementsByNameの使用方法OK > > > みかさのメッセージ(#5)への返事 > > > あっ、すいません。 > > objInpTxt.Value = name > > 部分見落としです。 > > > > ここでいれてるんですね。 > > やはりオブジェクトが見つからないって意味だと思うからもう一度見直してみてはどうでしょう。 > > > > > > > getElementsByNameってByTagNameのことですか? |
Message#6 2017年11月7日(火)17時12分 From: 鈴木進 | 返事 削除 変更 |
見直し結果としては以下です。 @貼り付け先IEのTextboxは、name”Detail”の確認OK Aoffice2016のgetElementsByNameの使用方法OK みかさのメッセージ(#5)への返事 > あっ、すいません。 > objInpTxt.Value = name > 部分見落としです。 > > ここでいれてるんですね。 > やはりオブジェクトが見つからないって意味だと思うからもう一度見直してみてはどうでしょう。 > > > > > getElementsByNameってByTagNameのことですか? |
Message#5 2017年11月6日(月)11時09分 From: みかさ | 返事 削除 変更 |
あっ、すいません。 objInpTxt.Value = name 部分見落としです。 ここでいれてるんですね。 やはりオブジェクトが見つからないって意味だと思うからもう一度見直してみてはどうでしょう。 > Nothingということはオブジェクトが見つかっていないということだと思います。 > 詳細が分からないですが、name属性に値をいれるのではなくvalueに値を入れないと意味がないように思えますが。 > > 今の設定はname属性に直接値を入れようとしてますよね。 > > > みかさのメッセージ(#2)への返事 > > > > > getElementsByNameってByTagNameのことですか? > > > > > > > 早速、見て頂きありがとうございます。 > > ByNameです。 > > ByTagNameとは異なります。 |
Message#4 2017年11月6日(月)11時06分 From: みかさ | 返事 削除 変更 |
Nothingということはオブジェクトが見つかっていないということだと思います。 詳細が分からないですが、name属性に値をいれるのではなくvalueに値を入れないと意味がないように思えますが。 今の設定はname属性に直接値を入れようとしてますよね。 > みかさのメッセージ(#2)への返事 > > > getElementsByNameってByTagNameのことですか? > > > > 早速、見て頂きありがとうございます。 > ByNameです。 > ByTagNameとは異なります。 |
Message#3 2017年11月6日(月)09時49分 From: 鈴木進 | 返事 削除 変更 |
みかさのメッセージ(#2)への返事 > getElementsByNameってByTagNameのことですか? > 早速、見て頂きありがとうございます。 ByNameです。 ByTagNameとは異なります。 |
Message#2 2017年11月5日(日)20時42分 From: みかさ | 返事 削除 変更 |
getElementsByNameってByTagNameのことですか? > Windows7、Office2010、Internet Explorer11で動作していたVBAが > Windows10、Office2016、Internet Explorer11で動作NGとなり解決方法が見つからなくて、掲示板に投稿しました。どなたかヒントを頂けませんか? > > セル内のテキストをクリップボードにコピーして、IEのテキストBOXに貼り付けるのみの内容です。下記が動作していたVBAです。 > 下から3行目のSet objInpTxt = objIE.document.getElementsByName("Detail")(0) > でobjInpTxt がNothingの状態となります。 > IE操作用ライブラリーの必要な項目は確認済です。 > > Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) > Dim objInpTxt As HTMLInputTextElement > Dim objSh As Object > Dim objWin As Object > Dim name As String > 'グループ名 > name = Tearget.Value > Set objSh = CreateObject("Shell.Application") > For Each objWin In objSh.Windows > If TypeName(objWin.document) = "HTMLDocument" Then > Set objIE = objWin > Set objSh = Nothing > Exit For > End If > Next > 'IEのTEXTBOXへグループ名の挿入 > Set objInpTxt = objIE.document.getElementsByName("Detail")(0) > objInpTxt.Value = name > End Sub |
Message#1 2017年11月5日(日)09時53分 From: 鈴木進 | 返事 削除 変更 |
Windows7、Office2010、Internet Explorer11で動作していたVBAが Windows10、Office2016、Internet Explorer11で動作NGとなり解決方法が見つからなくて、掲示板に投稿しました。どなたかヒントを頂けませんか? セル内のテキストをクリップボードにコピーして、IEのテキストBOXに貼り付けるのみの内容です。下記が動作していたVBAです。 下から3行目のSet objInpTxt = objIE.document.getElementsByName("Detail")(0) でobjInpTxt がNothingの状態となります。 IE操作用ライブラリーの必要な項目は確認済です。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim objInpTxt As HTMLInputTextElement Dim objSh As Object Dim objWin As Object Dim name As String 'グループ名 name = Tearget.Value Set objSh = CreateObject("Shell.Application") For Each objWin In objSh.Windows If TypeName(objWin.document) = "HTMLDocument" Then Set objIE = objWin Set objSh = Nothing Exit For End If Next 'IEのTEXTBOXへグループ名の挿入 Set objInpTxt = objIE.document.getElementsByName("Detail")(0) objInpTxt.Value = name End Sub |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降