QHMブログのURL一覧をEXCELで作る
こんにちは、 篠原です。
今日は、officeから離れて、ホームページ作成やこのブログの作成に使っている、「QHM」というホームページ作成システムで、ブログのURL一覧を作ってみます。
QHMでURLの一覧をつくる
作成のきっかけは、メルマガを始めようと思い、今まで書き溜めたブログの情報でもと思ったのがきっかけです。
さて、件数はようやく100件を超えたところですが、このURLとタイトルをメールにどうやって入力しようかと考えて、ハタと困ってしまいました。
この100件余りのURLとタイトルを入力するなんて「と・ん・で・も・な・い」と。
図1-1 さてどうしたものかと思案していたところ、QHMには、ページ一覧が見られることに気づきました。
「これをコピーしてしまえばいいじゃないか」と思いつきました。
ページの一覧を見ると、使えそうなURLが...ありました。タイトルの前にくっついていました。これで何とかなると判断しました。
図2-1 ページの一覧をコピーし、Excelへ貼り付けました。すると、ハイパーリンクが張られているのが分かりました。ファイル名というのもある。でも、ファイル名は使えそうにありません(全然別物です)。
図3-1 Excelに貼り付けた後、ハイパーリンクらしき文字の上にマウスをポイントすると、リンクアドレスが出てきました、これで、使えると確信。
さて次は、リンクアドレスをどうやって取り出すかです。
関数が有るか調べたところ、ハイパーリンクのある文字列からそのアドレスの文字列を取り出す関数はありませんでした。
VBAを調べたところ、ハイパーリンクの文字列を参照できるオブジェクトとプロパティが有ることがわかりましたので、マクロを作ることにしました。
VBAサンプルコードです。
標準モジュールに追加すると、使えます。不要なスペースなどは、コピー&貼り付け後に調整してくださいね。レイアウトの都合で、全角スペースが入っています。
◆プロシージャとする場合
下のマクロでは、ハイパーリンクのあるセルの右隣のセルに、ハイパーリンクアドレスの文字列(例:http://xxxxx.com/index.php?QBlog012)が設定されます。
Sub hpl()
'HyperLinkオブジェクトを格納します
Dim hplnk As Object
'ハイパーリンクアドレスが有るセルのアドレス($A$1など)を格納します
Dim lnkadres As String
'現在開いているワークシートのハイパーリンクオブジェクトのコレクションを作ります
For Each hplnk In ActiveSheet.Hyperlinks
'ハイパーリンクが有るセルのドレスを取得します
lnkadres = hplnk.Range.Address
'ハイパーリンクのあるセルの右となりのセルに取得したハイパーリンクアドレスの文字列を設定する
Cells(Range(lnkadres).Row, Range(lnkadres).Column + 1).Value = hplnk.Address
Next
End Sub
◆ユーザー関数とする場合
=hpla(A1)のように使用します
Function hpla(hplnk As Range) As String
hpla = hplnk.Hyperlinks(1).Address
End Function
図4-1 以上のマクロまたは関数で、QHMからコピー&貼り付けしたデータから、URLを取り出すことが出来ました。
標題の部分は、文字列操作関数で切り出しました。
=MID(A1,FIND("(",A1,1)+1,LEN(MID(A1,FIND("(",A1,1)+1,999))-1)
標題は、最初の( の次から最後の ) 前までです。これをもとに、計算式を作りました。
- FIND("(",A1,1)+1 (を見つけます。表題の最初の文字位置
- LEN(MID(A1,FIND("(",A1,1)+1,999))-1 最後の文字の1文字前までの文字列の長さ
ここまでできれば、あとは、標題と、URLを組み合わせて、メルマガに貼り付ければ出来上がりです。
もっと、簡単な方法があるかもしれませんが、今の私が知りうる知識の中では、こうして、QHMからURLの一覧を作ることが出来ました。
QHMホームページ作成システムは本当に便利なシステムです。興味のある方は、勉強して見るといいですよ。
では、QHMでURLの一覧を作る作業の説明は終わりです。
「パソコン無料相談」?も見てね。