会社のドキュメントのデーターベースサイトを閲覧するとき、
量が膨大な為、Ctrl+Fで検索をしていました。
今回、その操作を盛り込んだマクロを作ろうとしていますが、
検索サイトで調べてみても中々ヒットしません。
Excelは2003SP3を使っています。
具体的には、
(1)別のデーターベースからC6のセルにドキュメントの番号を出力
(2)(1)の番号から該当するデーターベースのアドレスを生成
(3)(2)で生成したアドレス先のサイトを開く
以上の(1)~(3)は何とかできました。
問題は以下の(4)~(5)の工程です。
(4)開いたサイト内でCtrl+F
(5)C6のドキュメントの番号を「検索する文字列(N)」の欄に入力
(6)「次を検索(F)」を1回だけクリック
お知恵を貸していただけると大変助かります。
よろしくお願いいたします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
≫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
No.4
- 回答日時:
≫No.3 この回答への補足
参考になるかもしれないサンプルを示しただけです。
そのままでは上手くいかないのは当然だと思いませんか?
サンプルのような感じで何とかなりそうですか?
補足内容から推測すると方向は合っていると考えてよろしいですか?
方向は合っているなら、実状に合わせて書き換えて試してください。
ピンポイントでの回答には該当部のHTMLソースの提示が必要です。
個人情報等は伏せて提示することはできませんでしょうか。
この回答への補足
ご意見ありがとうございます。
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」を含むドキュメントナンバーを探したいと考えております。
宜しくお願いいたします。
No.3
- 回答日時:
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」
で検索したいと考えております。
No.2
- 回答日時:
>(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」を探し出すのが今回の目標で今頑張っています。
回答ありがとうございます。
こちらのコードで「検索」ダイアログは表示できましたが、
文字列の入力、及び「次を検索」が出来ませんでした。
No.1
- 回答日時:
sub macro1()
application.dialogs(xldialogformulafind).show worksheets("シート名").range("C6").text
end sub
というマクロを実行することで,所定のセルの内容を検索する文字列欄に投入済みの検索ダイアログを表示し,そのまま検索できます。
これに加えて,例えばCtrl+Fのショートカットをこのマクロに取り付ける(ツールのマクロのマクロのオプション)などの手段を併用する事もできます(必要に応じて別途ご相談を投稿してください)が,専用の「検索ボタン」を用意してクリックしてダイアログを表示させるなどの手だての方がお薦めと感じます。
早速の回答ありがとうございます。
残念ながら上手く出来ませんでした。
調べてみましたが、教えていただいた内容ですと
Excel内の検索になるようです。(違ったらごめんなさい)
私が行いたいのは(3)で開いたサイト内の検索です。
引き続きよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) マクロVBAのフォルダ階層別で検索の方法 4 2022/04/03 23:23
- Visual Basic(VBA) VBAでPDFのアクティブページ番号取得 1 2023/05/25 12:41
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Excel(エクセル) Excelの列から検索して該当する行を別シートに転記するVBA 2 2022/12/20 09:35
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- その他(インターネット接続・インフラ) 電話番号についてわかる方 1 2022/05/30 20:59
- Android(アンドロイド) Google はスマホから個人情報をどのくらいに入っていますか 個体識別番号などもわかる? 2 2023/03/29 20:14
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Excel(エクセル) エクセル 条件に合う日付に入力された時間数の合計したい 4 2022/06/17 22:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「カルストン」という馬名(冠号)
-
出銭はゲンが悪いといいますが
-
サンプルサイズが異なるデータ...
-
競馬歴3か月で50万負けました。...
-
競馬に関しまして。私よく知ら...
-
4頭でワイド馬券を買う場合、組...
-
IPATで馬券を的中させたのです...
-
学生バイトについての質問です...
-
【競馬場】競馬場の馬券購入時...
-
競馬で先週35万負けてしまいま...
-
人生終わりました、もう死にた...
-
競馬って見るだけでも未成年NG...
-
JRA東京競馬場って未成年だけで...
-
レース名の意味
-
競馬と株てどっちが 稼げますか...
-
馬券での激しい後悔、悔しい思...
-
競馬 ワイド 1点買い (一...
-
競馬四季報で競馬の予想をする...
-
単勝オッズから馬連オッズを求...
-
予後不良って?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
4頭でワイド馬券を買う場合、組...
-
【競馬場】競馬場の馬券購入時...
-
サンプルサイズが異なるデータ...
-
IPATで馬券を的中させたのです...
-
競馬に関しまして。私よく知ら...
-
出銭はゲンが悪いといいますが
-
競馬歴3か月で50万負けました。...
-
学生バイトについての質問です...
-
粗品さんがやっている競馬払い...
-
単勝オッズから馬連オッズを求...
-
人に頼まれた馬券をインターネ...
-
高校生の競馬についてです。そ...
-
即PATを家族にばれないように。
-
競馬 マジックペン マークシー...
-
3連復600円分と3連単BOXではど...
-
日本中央競馬会の職員について
-
海外からIPATで馬券を購入...
-
競馬がどうしてスポーツ?
-
オイチョカブの数字、「4」の...
-
調教師になるのはなぜ難しいん...
おすすめ情報