VBAで文字列からURL部分だけを抽出する方法 削除
Message#2 2014年9月14日(日)01時30分 From: 管理人 |
VBAのIE制御でデータ抽出はうまくいっているということなので、その部分については、割愛します。 特定のタグに一意のキーワードがない場合や、今回のように文章の中に抽出項目がある場合は、正規表現を利用して抽出する方法が一般的です。 今回は、VBAでURL部分だけを抽出したいということですので、以下のサンプルコードを試してみてください。 【プログラム】 Sub sample() '正規表現オブジェクト作成 Set objReg = CreateObject("VBScript.RegExp") strValue = "iPS細胞(人工多能性幹細胞)から作った細胞が9月12日に世界で初めて患者に移植された。http://news.yahoo.co.jp/ 。2006年に京都大iPS細胞研究所長の山中伸弥教授がマウスでの開発成功を発表してから8年のことである。" With objReg .Pattern = "http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?" 'パターン .IgnoreCase = True '大文字と小文字を区別しない .Global = True '文字列全体を検索 End With Set objMatches = objReg.Execute(strValue) For i = 0 To (objMatches.Count - 1) Debug.Print = objMatches.Item(i).value Next Set objReg = Nothing End Sub 【処理結果】 http://news.yahoo.co.jp/ ※今回はDebug.Printを利用していますので、こちらを指定のセルへ変更してください。 |
上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。