- 締切済み
ExcelのマクロでIEのCtrl+Fの検索
会社のドキュメントのデーターベースサイトを閲覧するとき、 量が膨大な為、Ctrl+Fで検索をしていました。 今回、その操作を盛り込んだマクロを作ろうとしていますが、 検索サイトで調べてみても中々ヒットしません。 Excelは2003SP3を使っています。 具体的には、 (1)別のデーターベースからC6のセルにドキュメントの番号を出力 (2)(1)の番号から該当するデーターベースのアドレスを生成 (3)(2)で生成したアドレス先のサイトを開く 以上の(1)~(3)は何とかできました。 問題は以下の(4)~(5)の工程です。 (4)開いたサイト内でCtrl+F (5)C6のドキュメントの番号を「検索する文字列(N)」の欄に入力 (6)「次を検索(F)」を1回だけクリック お知恵を貸していただけると大変助かります。 よろしくお願いいたします。
- TT65
- お礼率37% (3/8)
- オフィス系ソフト
- 回答数5
- ありがとう数2
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- xls88
- ベストアンサー率56% (669/1189)
≫No.4 この回答への補足 ><td nowrap width="200px">111-222-333-444-abcde</a></td>←ドキュメントナンバーを含む文字列 この行の記述は間違ってないですか? 取りあえずtrタグで探るなら下記のような感じでいけると思います。 探し出してあと何をするか解らないのでaタグのリンクを書き出しようにしています。 Dim tmp1 As Object Dim tmp2 As Object For Each tmp1 In .all.tags("tr") If tmp1.all.tags("td")(0).innerText Like "111-222-333-444*" Then For Each tmp2 In tmp1.all.tags("a") Debug.Print tmp2.href Next Exit For End If Next
- xls88
- ベストアンサー率56% (669/1189)
≫No.3 この回答への補足 参考になるかもしれないサンプルを示しただけです。 そのままでは上手くいかないのは当然だと思いませんか? サンプルのような感じで何とかなりそうですか? 補足内容から推測すると方向は合っていると考えてよろしいですか? 方向は合っているなら、実状に合わせて書き換えて試してください。 ピンポイントでの回答には該当部のHTMLソースの提示が必要です。 個人情報等は伏せて提示することはできませんでしょうか。
- xls88
- ベストアンサー率56% (669/1189)
Webサイトと勘違いしていました。 私は会社内のデータベースサイトなるものを扱ったことがないので良く解りません。 Webサイトと会社内のデータベースサイトは同じ構造と考えて良いのでしょうか? 意図する処と合致しているかどうか解りませんがWebサイトの例を挙げてみます。 JRAサイトマップのページ http://www.jra.go.jp/sitemap/index.html から「競馬メニュー」内のリンクを取ってみます。 HTMLソースをみると Tableタグのsタブに見出しと見出し毎のリンクがあります。 Tableタグを総当たりして 最初のaタグで見出しの「競馬メニュー」を見つけ 「競馬メニュー」が見つかったTableタグ内のaタグを総当たりでリンクを書き出します。 (ただしonclickが有る場合はその部分が取れていません) Dim tmp1 As Object Dim tmp2 As Object With objIE.document For Each tmp1 In .all.tags("table") 'Tableタグを総当たり If tmp1.all.tags("a")(0).innerText = "競馬メニュー" Then '競馬メニュー For Each tmp2 In tmp1.all.tags("a") 'aタグを総当たり Debug.Print tmp2.innerText & vbLf & tmp2.href Next Exit For End If Next End With
補足
回答ありがとうございます。 リンクの部分は全て同じ画像ですので、 aタグで検索は出来ませんでした。 検索したい部分はリンクの張られていないテキスト部分です。 また説明不足だったようで申し訳ありません。 下の補足を引用しますと、 111-222-333-444 [リンク1] [リンク2] [リンク3] のリンク部分は全て画像が張られています。 テキスト部分の「111-222-333-444」 で検索したいと考えております。
- xls88
- ベストアンサー率56% (669/1189)
>(4)開いたサイト内でCtrl+F 取りあえず(4)のみですが下記ページを参考に 「検索」ダイアログを出すことができました。 ≪参考≫ IE 操作 .ExecWB でコマンド実行(検索したかったけど) http://www.ken3.org/vba/backno/vba112.html 上記ページでは 'IEのメニューコマンドを実行する(42番のコマンド) objIE.ExecWB OLECMDID_SHOWFIND, OLECMDEXECOPT_DODEFAULT で失敗となっていますが 32番目のコマンド objIE.ExecWB OLECMDID_FIND, OLECMDEXECOPT_DODEFAULT で成功しました。 IE7です。 #余談ですが どういったニーズで「検索」ダイアログを表示されるのですか? サイトのデータを「検索」ダイアログに頼らずに探ることは可能です。
お礼
回答ありがとうございます。 こちらのコードで「検索」ダイアログは表示できましたが、 文字列の入力、及び「次を検索」が出来ませんでした。
補足
回答ありがとうございます。 家からではアクセスできないサイトですので週明けまで 試せないのが残念です。 もっと簡単な方法があるのであればうれしいです。 普段サイト内の検索をCtrl+Fで行っていますので、発想がありませんでした。 ニーズの補足をします。 欲しいドキュメントが「111-222-333-444」だったとします。 サイト内は「111-222-000-000」から[111-222-999-999」までリストになっています。 その番号の右にリンクが3つあり、それぞれに必要なドキュメントが保存されています。 構成のイメージは以下の感じです。 「111-222関連のページ」 111-222-000-000 [リンク1] [リンク2] [リンク3] 111-222-000-001 [リンク1] [リンク2] [リンク3] ・ ・ ・ 111-222-999-999 [リンク1] [リンク2] [リンク3] [TOP] この中から「111-222-333-444」を探し出すのが今回の目標で今頑張っています。
- keithin
- ベストアンサー率66% (5278/7940)
sub macro1() application.dialogs(xldialogformulafind).show worksheets("シート名").range("C6").text end sub というマクロを実行することで,所定のセルの内容を検索する文字列欄に投入済みの検索ダイアログを表示し,そのまま検索できます。 これに加えて,例えばCtrl+Fのショートカットをこのマクロに取り付ける(ツールのマクロのマクロのオプション)などの手段を併用する事もできます(必要に応じて別途ご相談を投稿してください)が,専用の「検索ボタン」を用意してクリックしてダイアログを表示させるなどの手だての方がお薦めと感じます。
お礼
早速の回答ありがとうございます。 残念ながら上手く出来ませんでした。 調べてみましたが、教えていただいた内容ですと Excel内の検索になるようです。(違ったらごめんなさい) 私が行いたいのは(3)で開いたサイト内の検索です。 引き続きよろしくお願いいたします。
補足
サイトを開くのはIE6で行っています。
関連するQ&A
- Ctrl+F の検索の仕方がわかりません。
Ctrl+Fで検索できると聞いたのですが、いまいち使い方がわかりません。 サイト内である言葉を検索すると「ドキュメントの検索が完了しました。」と出ます。この場合はその言葉がないということでしょうか? よろしくお願いします。
- ベストアンサー
- Windows XP
- 【エクセル】CTRL+FでAND検索ができないでしょうか?
【エクセル】CTRL+FでAND検索はできないでしょうか? データ表があって、 A 1地球⇒世界⇒日本⇒東京 2地球⇒世界⇒日本⇒大阪 3地球⇒世界⇒アメリカ⇒サンフランシスコ 4・・・・ 5・・・・ 6・・・・ 7・・・・ 8宇宙⇒太陽系⇒地球 などという表があったとしたら、CTRL+Fで検索窓を開き、「地球 日本」としたら、 A1のセル、A2のセルが検索結果ででてくるということはできないでしょうか? 同じく「宇宙 太陽系」としたら、A8のセルしか検索でヒットしないような形です。 AND検索が無理でしたら、どのようにすれば、このような検索が出ますでしょうか? なるべく簡単な方法が嬉しいです。 通常機能で無理なようでしたら、該当するフリーソフトなどを教えていただけたら幸いです。 お忙しいところおそれいりますが、 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルでの検索:Ctrl+F実施後の表示設定
エクセルの住所録データベースでショートカット キー:Ctrl+Fを使っています。 左からA電話番号、B郵便番号、C住所、D氏名、Eカナ。。 といった感じのシンプルな表です。 住所が長めなので、画面表示ではA電話番号、B郵便番号、 C住所、D氏名、Eカナまで左右いっぱいに表示されています。 氏名で検索するのですが、「山田太郎」さんで検索した場合、 Dのセルが上下のみすればいいのですが、検索結果がヒットした 時、「山田太郎」のセルが画面中心部に表示されてしまい 左のA、Bが表示されず、空欄のFより右側のセルが表示されて しまいます。 検索時にDのセルが上下するようにし、常にA~Eまでのみを 表示するにはどのように設定すればいいでしょうか。
- ベストアンサー
- Excel(エクセル)
- Ctrl+F(検索)の窓を出したいのですが。
修行中のものです。自分のサイトをもっているのですがプラウザの Ctrl+F を知らない人がおおいいらしいのでページの頭のほうに Ctrl+F(検索)の窓を出すか、ボタンをくりっくするとCtrl+F(検索)を たちあがらせたいんですが、ご教授ください。
- ベストアンサー
- HTML
- ctrl+F について
ctrl+Fを検索するときによく使います。 キーボードをlogicoolのK750に変えてからその機能が使えなくて困っています。 ctrl+cやctrl+v(コピーや貼り付け)は使えます。 前のキーボードはctrl+Fを押すと上に検索窓が出てくるんですがこれを使うと無反応・・・ 本当に困っています。 よろしくお願いします。
- ベストアンサー
- マウス・キーボード
- EXCELでの検索マクロを作りたいのですが
マクロの初心者です。氏名の検索マクロを作成したいのですが分かりません。 A列:名前 B列:郵便番号 C列:住所 と 名前等のデータを(ランダムに)入力したシート1を作成し、 シート2にシート1の「A列:名前」から性(たとえば青木)で検索して検索ボタン(マクロボタン)を押して該当データを表示させるようにしたいのですが。
- ベストアンサー
- オフィス系ソフト
- [Ctrl]+[F] 検索する文字列 → でヒットしない文字列
エクセルで作った文書をHTML形式で保存(拡張子.htm) ↓ インターネット上にアップロード ↓ キーワードで検索するときは [Ctrl]+[F] 検索する文字列 → " " で検索してもらう。 さて、この検索において 明らかにそのウェブページに存在するキーワードを検索したのに [ドキュメントの検索が終了しました]というメッセージが出て ヒットしないことがあります。 これはどのようなことが考えられますでしょうか。 よろしくお願い申し上げます。
- 締切済み
- その他(インターネット・Webサービス)
- Excel マクロでの検索
大量のデータ(約40000件)をDB(約3000件)から検索し該当する値を返す作業をしています。 マクロを今日初めて組んだのですが、うまく行きません。 だれか教えてください。 例:※同Sheet内での作業です。 DB(列1・2) データ(列3・4)※ランダムに並んでます。 1 2 3 4 1 a A c Cを返したい(cを1列より検索し2列の値を返す) 2 b B e Eを返したい(eを1列より検索し2列の値を返す) 3 c C d Dを返したい(dを1列より検索し2列の値を返す) 4 d D d Dを返したい(dを1列より検索し2列の値を返す) 5 e E h Hを返したい(hを1列より検索し2列の値を返す) 6 f F @ @が1列に無い場合は空欄でよい ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 今日、私は4列のワードを変数とし、1列より検索する方法をとりました。(Loopで組みました) Find.で組むと、不要なワードまで検索してしまう状況です。 例:aaaaで検索→aaaaaaがhitしてしまう。 同一ワードで検索する方法も試したのですが、エラーが出てしまいます。 自分なりにFindNextなども試してみましたが、無限Loopになってしまいます。 Loopを使わなくてもいいので、方法を教えてください。 本来自力で調べるべきですが、急ぎの仕事な為、ご協力ねがいます。
- 締切済み
- オフィス系ソフト
- Excelのマクロで検索ボタンを作るには
Excelでマクロを使ってボタン(検索ボタンみたいなのを作って)を押すと検索ウィンドウが開いて検索できるようにしたいのですがどうすればいいでしょうか? 現在ブックの中に会員登録sheetと当日参加者sheetという風に分けていて当日の参加者一覧は会員登録者の中から会員番号で登録していくという形を作っています。そこで当日参加者の会員番号を抽出する為に当日参加者のsheetを開いている状態で会員登録者sheetの中から名前を検索して会員番号を抽出したいと思っています マクロの登録でCTRL+Fで検索ウィンドウを開いて検索(このときの検索条件はブック全体にしています) すると検索が終わった時点で会員登録sheetに切り替わっているのでsheetを当日参加者に 切り替えてマクロの登録終了にしたのですがマクロの実行を行っても何も起きませんでした。 なにかよい方法はありますでしょうか?教えて下さいm(__)m
- 締切済み
- Visual Basic
- ctrl+Fについて
ctrlを押してFを押すと左下にサイト内の検索のやつがでますよね それに日本語で文字をいれてエンターを押すと意味不明な文字が出るのですが、日本語で検索する方法を知っている方は教えてくださいませんか?
- 締切済み
- その他([技術者向] コンピューター)
補足
ご意見ありがとうございます。 No.3で頂いた回答に対してご報告する前に、 入力やクリックをどうすれば良いのか探してみましたが、 出来ませんでしたので結果のみをご報告いたしました。 該当部分のソースは以下の通りです。 <tr> <td nowrap width="200px">111-222-333-444-abcde</a></td>←ドキュメントナンバーを含む文字列 <td nowrap width="400px">ドキュメントの名前</td> <td><a href="リンク1"><img src="○○.gif" /></a></td> <td><a href="リンク2"><img src="○○.gif" /></a></td> <td><a href="リンク3"><img src="○○.gif" /></a></td>←リンク1~3の画像ファイルは同じもの </tr> これと同じソースが並んでおり、 その中の「111-222-333-444」を含むドキュメントナンバーを探したいと考えております。 宜しくお願いいたします。