2012-03-07 4 views
1

mshtml + SHDocVw.InternetExplorerを使って作業するのは簡単でした。しかし、私はなぜそれがC#でそれを行うことはほとんど不可能であるか分かりません。例えばhtml文書の中にオブジェクト型を宣言できないと言っても意味がありません。私が悩んでいるのは、以下のコードに代わるものです。 (.NET 3.5を使用して)cshでmshtmlを使って作業する

IE.Document.getElementByID("ID").value="string" 
IE.Document.getElementByID("ID").click() 
IE.Document.GetElementsByTagName("tagname")(index).click() 
IE.Document.ParentWindow.Frames(index).Document 
      .GetElementsByTagName("tagname")(index).click() 
IE.Document.GetElementsByTagName("tagname")(index).value="string" 
IE.Document.ParentWindow.Frames(index).Document 
      .GetElementsByTagName("tagname")(index).value="string" 

更新:たぶん私はより具体的なされている必要があります。問題は角かっこではなく、問題はC#ではドキュメントプロパティ内のメソッドを呼び出すことができないということです。

+5

インデックス付きプロパティは、C#で角括弧を使用してアクセスされているが、その助けをしますか? – stuartd

+1

OK、私はあなたがイライラしているのを見ることができます。しかし、私たちが助けるために、あなたは次のように詳述しなければなりません。元のVBコード。 2; EXACTコードが生成するものは "例えばhtml文書の中にオブジェクト型を宣言することはできません。" 3。 「私が抱えているのは、以下のコードの代わりです」とはどういう意味ですか? – saunderl

+0

エラーは何ですか? –

答えて

1

あなたはCOMインタフェースにオブジェクトをキャストする必要があります。

var doc = IE.Document; 
var element = ((IHTMLDocument3)doc).getElementByID("ID");