
別枠で同系統の質問となってしまい申し訳ありません。
http://oshiete1.goo.ne.jp/qa5661746.html
上記でご教授頂いたサンプルを実行しましたところ
順調に動いていたのですが、
以下のように同じ行に複数の取得対象が存在するパターンになると
正常に取得できなくて困っています。
index.html内
<a href="http://www.test.co.jp">テスト1</a><img src="image.gif" alt="イメージ"></a><a href="http://www.test2.co.jp>テスト2</a>|<a href="http://www.test3.co.jp">テスト3</a>
このように、同じ行に複数の記述がされている際
最後の物のみ取得してしまい(http://www.test3.co.jpが取得される)
前の物全て取得できない状態です。
全てを取得するようにするにはどのようにすればいいか、
すみませんがよろしくお願いします。
なお、ファイルを読み込んでファイル内容を別シートに出力し、
そこから抽出している形を取っています。
No.3ベストアンサー
- 回答日時:
のコードをおためし下さい。
ハイパーリンクのURLは、match.submatches.Item(0)に取得できますので、
Debug.Print match.submatches.Item(0)
などと改造してみてください。Accessで回答していますが、Excelでも動くと思います。
ご呈示の1行のファイルで試験したところ拾い出せました。
ただし、href="http://www.test2.co.jp>テスト2 のところはダブルクォーテーションが一個欠落していて誤動作しましたので修正して試験しました。
この回答への補足
非常に言葉足らずで大変申し訳ございません。
前回の条件として
<a href="**">の**を取得したい、と記述したのは
【http://~】だけではなく
【/index.html】
などと言ったハイパーリンクではない物も取得したいからでした。
例文が悪く大変申し訳ございません。
申し訳ございません、動作しない部分を見直して行ったところ、
タイプミスが原因でした。
ペーストをしてしまうと形式すら身につかないと考え
手動で行っておりました。
試しましたところ、無事動作するようになりました。
お忙しいところありがとうございました。
No.4
- 回答日時:
#3です。
パターンをご覧になりましたか?何処にもhttp://は出て来ません。下記のデータで問題なく取得できました。(自分の手柄ではなく、Microsoftの受け売りですが)<a href="http://www.test.co.jp">テスト1</a><img src="image.gif" alt="イメージ"></a><a href="http://www.test2.co.jp">テスト2</a><a href="http://www.test3.co.jp">テスト4</a><a href="/test4.html">テスト4</a><a href="./test5/test5.html">テスト5</a>
申し訳ございません、動作しない部分を見直して行ったところ、
タイプミスが原因でした。
ペーストをしてしまうと形式すら身につかないと考え
手動で行っておりました。
試しましたところ、無事動作するようになりました。
お忙しいところありがとうございました。
No.2
- 回答日時:
[回答番号:No.1] の DOUGLAS_ です。
>取得した「テキスト(ソースコード)」をそのまま エクセル の ワークシート に貼り付け
るよりも、最初から、当該 WEBページ を エクセル に読み込む方が手間が省けますか。。。
Sub TEST()
Dim HL As Hyperlink
Dim myURL As Variant
Dim i As Integer
Dim j As Integer
Workbooks.Open Filename:="http://oshiete1.goo.ne.jp/qa5661746.html"
j = ActiveSheet.Hyperlinks.Count
ReDim myURL(j - 1)
For Each HL In ActiveSheet.Hyperlinks
myURL(i) = HL.Address
i = i + 1
Next
ActiveWorkbook.Close SaveChanges:=False
Range("A1").Resize(j) = Application.WorksheetFunction.Transpose(myURL)
End Sub
この回答への補足
申し訳ありません、条件が抜けておりました。
ソースコードはローカルに配置してあります。
D:\test\ソース
配下に格納しています。
No.1
- 回答日時:
>別枠で同系統の質問
リンク先は拝見いたしました。
>マクロを用いてテキスト(ソースコード)よりURLを取得したい
とのことですが、「テキスト(ソースコード)」はどこに書いていらっしゃるのでしょうか?
>全てを取得するようにするにはどのようにすればいいか
結果オーライになりますが、取得した「テキスト(ソースコード)」をそのまま エクセル の ワークシート に貼り付けて、下記のコードを実行なさってみてください。
Sub TEST()
Dim HL As Hyperlink
Dim myURL As Variant
Dim i As Integer
Dim j As Integer
j = ActiveSheet.Hyperlinks.Count
ReDim myURL(j - 1)
For Each HL In ActiveSheet.Hyperlinks
myURL(i) = HL.Address
i = i + 1
Next
Sheets.Add Type:="ワークシート"
Range("A1").Resize(j) = Application.WorksheetFunction.Transpose(myURL)
ActiveSheet.Next.Select
Application.DisplayAlerts = False
ActiveSheet.Delete
Application.DisplayAlerts = True
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SEO googleサーチコンソールで、重複URLが多数発生、その修正方法について 2 2023/06/23 16:15
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) Excel VBA ファイル取得について フォルダの中に、ファイル名“会議“を含むファイルが1つまた 9 2022/10/12 01:18
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- PHP a href リンクタグでだけで 送信が できちゃっています。 1 2022/04/18 04:25
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「取得先」という表現について
-
Yahoo! JAPAN IDを新規取得でき...
-
EXCEL、マクロ-改ページ行番号...
-
VB or VBScriptでPCの製造番号...
-
VBAでPDFファイルの文書のプロ...
-
【C#】FindWindowExの使い方を...
-
(Win32)ファイルパスから物理ド...
-
コンビニで住民票を取得した場...
-
Excel VBA:特定の文字列以降(...
-
ps3で久しぶりにCDの音楽情報取...
-
COBOLの動的SQLについて
-
グローバルIPの取得方法を教え...
-
C# ASP.NET でIPアドレスからア...
-
キーボードとマウスの入力を記...
-
積立投資してます。現在平均取...
-
ShellExecuteでハンドルを取得
-
VBA: HTTPでのスクレイピング
-
グローバルIPの取得方法
-
実行中の他のアプリのパスの取...
-
ASPでIPアドレスの逆引きした結...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「取得先」という表現について
-
Excel VBA:特定の文字列以降(...
-
EXCEL、マクロ-改ページ行番号...
-
DMMの動画を全件取得したのです...
-
【C#】FindWindowExの使い方を...
-
各クライアントマシンのログイ...
-
(Win32)ファイルパスから物理ド...
-
Yahoo! JAPAN IDを新規取得でき...
-
PHPを使って、別サイトの一部を...
-
ps3で久しぶりにCDの音楽情報取...
-
ローカルのコンピュータ名を取...
-
VBブラウザに表示されているテ...
-
format関数について
-
ミュージックのアートワークを...
-
ドライブ文字からハードウェア...
-
IPアドレスとMACアドレスを取得...
-
VBAでPDFのアクティブページ番...
-
バッチファイルでPCのモデル名...
-
VB or VBScriptでPCの製造番号...
-
iphlpapiのGetAdaptersInfoでNI...
おすすめ情報