• ベストアンサー

VB6にて、インターネットエクスプローラを操作したいのですが。

おはようございます。できるかできないかもわからないのですが、 どうか教えて下さい。 仕事で、CADソフトを使用しております。そのCADソフトでは、 指示書をインターネットエクスプローラで表示します。 しかし、どうもうちの会社の見方と違うので、並べ替えをして再表示 させたいと考えてます。 そこで、VB6にて作成と思い、設計してみました。 僕は、たまぁに、VB6をお遊び程度で触る、ほぼ素人なんで、わかりにくいと思いますが、聞いてください。 1.ボタンを押すと、現在開いているインターネットエクスプローラがあれば、終了させる。 2.HTMLファイルの中身を並びかえる。 3.並び変えたHTMLをインターネットエクスプローラにて表示。 と考えております。 1と3の方法がわかりません。 できればサンプルコードを付けてもらえるとありがたいです。 どうぞ、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • umota
  • ベストアンサー率46% (150/324)
回答No.5

ウインドウクローズのサンプルです。 Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, lParam As Any) As Long Private Const WM_CLOSE = &H10 ... Call SendMessage(hWnd, WM_CLOSE, 0, 0)

satoshi777
質問者

お礼

クローズできました! ありがとうございます。 このAPIの使い方、ちゃんとした意味がまだ理解できていないので、 ちょっと歯がゆいのですが、勉強してみます。 どうもありがとうございました。

その他の回答 (4)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.4

> 行のソートを行いたいです。 Document Object Model(DOM)の世界ですね。 VB6で出来なくはないけど(MSHTML)、javascriptの方が簡単でサンプルが豊富です。 さっき知ったけど、ブラウザのブックマークに登録するスクリプトのことを「ブックマークレット」といい、 世界中のスクリプト職人が作品を発表しています。 テーブルを並び替えるブックマークレット(sort table) http://www.squarefree.com/bookmarklets/pagedata.html

satoshi777
質問者

お礼

VBが一番簡単だと聞いて、お遊びで始めたのですが、 かなりいろんな作業ができるのですねぇ。 びっくりしてます。 まだ、何を言ってるのか、意味もわからない状態なので、 勉強して、いろんなことに挑戦してみたいと思います。 今回はどうもありがとうございました。

  • vbotoko
  • ベストアンサー率0% (0/3)
回答No.3

WebControl と言うActiveXコントロールをリファレンスで参照して、フォームに貼りつけて使います。あとの動作はオブジェクトブラウザで適当なプロパティやメソッドの設定をするだけです。

参考URL:
http://homepage1.nifty.com/MADIA/vb/vb_bbs2/200407_04070038.html
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2

簡単な変換であれば、IEのスクリプトがいいでしょう。(JavascriptまたはVBS) サンプルw http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=34608 のスクリプトをアドレスに入力 アイコンをリンクバーにドラッグ&ドロップ

satoshi777
質問者

お礼

スクリプトは全くわかりませんので、申し訳ありません<(_ _)> 変更は、行のソートを行いたいです。 製品名、納期、サイズ、などなどあるのですが、 製品名での昇順を行いたいと考えてます。 このサンプルは、面白かったです。 ステップアップした際には、真剣に取り組んでみようと思います。 ありがとうございました。

  • umota
  • ベストアンサー率46% (150/324)
回答No.1

API を使います。 1. プログラムが長くなるので、各キーワードを基に API を調べてください。 EnumWindows で各ウインドウハンドルを取得 (以下をループ ) GetWindowText でハンドルからウインドウタイトルを取得 ウインドウタイトルに "Microsoft Internet Explorer" が含まれていたら PostMessage または SendMessage でクローズします。 (タイトルが固定ならば FindWindowEx でも可能です ) 3. サンプルです。 Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, ByVal lpOperation As String, _ ByVal lpFile As String, ByVal lpParameters As String, _ ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Const SW_SHOW = 5 . . . ShellExecute(0, "open", App.Path & "\hoge.htm", 0, 0, SW_SHOW) (hoge.htm は表示する HTML ファイルがアプリケーションと同じパスにある場合です)

satoshi777
質問者

補足

返事できなくて申し訳ありません。本業の間に試していました。 1に関してなのですが、ハンドル取得に成功しましたが、 クローズの方法がどうもわかりません。 取得した、名前にInternet~が含まれているものの選別まではできてました。それをクローズするコードがどうしてもわかりません。 お暇があれば、お助け願えればと思います。 お手数かけますが、よろしくお願い致します。

関連するQ&A