Formタグのオブジェクトを取得
【サンプル】
//Internet Explorer操作用タイプライブラリの取り込み(Visual C++ .Net 2003、WindowsXP、IEのVersion = 6.0)
#import "C:\WINDOWS\system32\shdocvw.dll" rename("FindText", "FindTextIE")
#import "C:\WINDOWS\system32\mshtml.tlb" rename("TranslateAccelerator","TranslateAcceleratorHTML")
//IE操作用オブジェクトの宣言
SHDocVw::IWebBrowser2Ptr pIE;
//IEの起動
void Cvc_ie_FormDlg::OnBnClickedButton1()
{
//IEの起動
pIE.CreateInstance(L"InternetExplorer.Application");
//IEの表示
pIE->PutVisible(VARIANT_TRUE);
//URLを開く
COleVariant oleURL;
oleURL.SetString("http://localhost/vc_ie_FormTst.html",VT_BSTR);
pIE->Navigate2(oleURL);
}
//Formタグのオブジェクトを取得
void Cvc_ie_FormDlg::OnBnClickedButton2()
{
MSHTML::IHTMLDocument2Ptr pHtmlDoc;
MSHTML::IHTMLFormElementPtr ppvForm;
IDispatch *ppvdispOption;
COleVariant data;
//Htmlドキュメントのオブジェクト取得
pHtmlDoc = pIE->GetDocument();
//Formsタグのオブジェクトを取得
MSHTML::IHTMLElementCollectionPtr pHtmlCol = pHtmlDoc->forms;
//特定のFormタグのDispatchオブジェクトを取得("TEST_FORM"は、FormタグのName)
data.SetString("TEST_FORM", VT_BSTR);
pHtmlCol->raw_item(data, vtMissing, &ppvdispOption);
//IHTMLFormElementクラスとFormのDispatchオブジェクトを結合
ppvdispOption->QueryInterface(__uuidof(MSHTML::IHTMLFormElement), (void**)&ppvForm);
MessageBox(ppvForm->name);
}
//ie終了
void Cvc_ie_FormDlg::OnBnClickedButton3()
{
pIE->Quit();
pIE = NULL;
}
[サンプル・プロジェクト]
(注意)
このサンプルは、Visual C++ .Net、Internet explore 6.0, MFCアプリケーションで作成されています。