>>118 の構想ですが、あるテキストファイル(c:¥wikiin.txt)に含まれる
wikipedia URL のタイトル羅列を、別のテキストファイル(c:¥wikiout.txt)
に吐き出すVBA用プログラム(sub wikilist)を書いてみました。
Excel 2003 での動作を確認しています。
--------------------------------------------------------------------
Public Function URLDecodeUTF8(strSource As String) As String
Dim objSC As Object
Set objSC = CreateObject("ScriptControl")
objSC.Language = "Jscript"
URLDecodeUTF8 = objSC.CodeObject.decodeURIComponent(strSource)
Set objSC = Nothing
End Function
Sub wikilist()
Open "c:¥wikiin.txt" For Input As #1
Open "c:¥wikiout.txt" For Output As #2
Do
Line Input #1, a$: p = InStr(a$, "
http://ja.wiki" + "pedia.org/wiki/"... If p > 0 Then
b$ = URLDecodeUTF8(Mid$(a$, p + 29)): b$ = RTrim$(Replace(b$, "_", " "))
q = InStr(b$, "#"): If q > 0 Then b$ = Left$(b$, q - 1)
c$ = c$ + b$ + "/"
End If
If Len(c$) > 50 Then Print #2, c$: c$ = ""
Loop Until EOF(1)
Close #2: Close #1
End Sub
-----------------------------------------------------------------------------
エラー処理は貧弱です。ここまででいうと「スタンフォード監獄実験」と
「アインシュタイン=ポドルスキー=ローゼンのパラドックス」のリンクは
壊れているため、これらを取り除いてから処理する必要があります。
なお、URLデコード関数は以下のサイトのものを無断で使わせていただきました。
http://komet163.blog36.fc2.com/blog-entry-18.htm...
返信する