ブラウザ・ブックマークを極める②
①からのおさらい
・ブラウザに時間をかけているわけなのでブラウザの時短を考えるべし。
・CTRL+Dでお気に入り登録。
・フォルダで管理をしてみよう。
・Tempファイルを作成し、まずはそこに気に入ったブックマークはあまり考えずにどんどん登録していくと楽だよ。
②ブックマークから検索をしてみよう。
ブックマークをどんどん登録していくと、「あれ? どこにデータ置いたっけ?」となることが多い。
そんな時はブックマークの検索機能を使ってみよう。
CTRL+Shift+Oでブックマークメニューを開き、そのまま文字を打ち込むことで検索ができます。
③一気にブックマークを保存してみよう(マクロ作るよ)
例えばSharePointやBOXなどをブラウザベースで使っている場合、(そしてアプリ版の使用を禁じられている場合)、もう少し体系的にブックマークを簡単にできんもんかなあ~ と思う人もいるでしょう。
そんな場合のため、VBAマクロを作成してみました。
まずはエクセルをご用意。
下準備として、A列からD列までの1行目を入力していきます
A列から順に、フォルダ,サブフォルダ,表示名,リンク(ハイパーリンクを読み込みます)
と書いておいてください。
次に2行目以降入力してみましょう。
なお、D列はハイパーリンク化されているのが前提です。
(普通にSharePointのリンクのコピーから貼り付けるとハイパーリンク化された状態で貼り付けられるので、そこまで気にする必要もないとは思いますが)
ちまちまこの表を作るのが面倒な方は以下のSharePointの「Excelにエクスポート」をうまく編集すると簡単に使えます。
これで下準備は完了です。
本エクセルデータを一度デスクトップ上に保存してください。
続いてALT+F11を押して、エクセルのVBEを開きましょう。
以下コードを貼り付け、起動します。
Sub CreateFavoritesHTML_UTF8()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
Dim htmlPath As String
htmlPath = ThisWorkbook.Path & "\favorites.html" ' 保存するHTMLファイルのパスを指定してください
Dim stream As Object
Set stream = CreateObject("ADODB.Stream")
stream.Charset = "utf-8"
stream.Open
stream.WriteText "<!DOCTYPE NETSCAPE-Bookmark-file-1>" & vbCrLf
stream.WriteText "<META HTTP-EQUIV=""Content-Type"" CONTENT=""text/html; charset=UTF-8"">" & vbCrLf
stream.WriteText "<TITLE>Bookmarks</TITLE>" & vbCrLf
stream.WriteText "<H1>Bookmarks</H1>" & vbCrLf
stream.WriteText "<DL><p>" & vbCrLf
Dim currentFolder As String
Dim currentSubFolder As String
currentFolder = ""
currentSubFolder = ""
Dim i As Long
For i = 2 To lastRow
If ws.Cells(i, 1).Value <> currentFolder Then
If currentFolder <> "" Then
If currentSubFolder <> "" Then
stream.WriteText "</DL><p>" & vbCrLf
currentSubFolder = ""
End If
stream.WriteText "</DL><p>" & vbCrLf
End If
currentFolder = ws.Cells(i, 1).Value
stream.WriteText "<DT><H3 ADD_DATE=""0"" LAST_MODIFIED=""0"">" & currentFolder & "</H3>" & vbCrLf
stream.WriteText "<DL><p>" & vbCrLf
End If
If ws.Cells(i, 2).Value <> currentSubFolder And ws.Cells(i, 2).Value <> "" Then
If currentSubFolder <> "" Then
stream.WriteText "</DL><p>" & vbCrLf
End If
currentSubFolder = ws.Cells(i, 2).Value
stream.WriteText "<DT><H3 ADD_DATE=""0"" LAST_MODIFIED=""0"">" & currentSubFolder & "</H3>" & vbCrLf
stream.WriteText "<DL><p>" & vbCrLf
End If
Dim displayName As String
Dim hyperlink As String
displayName = ws.Cells(i, 3).Value
hyperlink = ws.Cells(i, 4).Hyperlinks(1).Address
stream.WriteText "<DT><A HREF=""" & hyperlink & """ ADD_DATE=""0"" LAST_VISIT=""0"" LAST_MODIFIED=""0"">" & displayName & "</A>" & vbCrLf
Next i
If currentSubFolder <> "" Then
stream.WriteText "</DL><p>" & vbCrLf
End If
If currentFolder <> "" Then
stream.WriteText "</DL><p>" & vbCrLf
End If
stream.WriteText "</DL><p>" & vbCrLf
stream.SaveToFile htmlPath, 2 ' 2 = adSaveCreateOverWrite
stream.Close
MsgBox "UTF-8でエンコードされたHTMLファイルが作成されました。", vbInformation
End Sub
どうでしょう?デスクトップ上に以下のHTMLが生成されたのではないでしょうか?
あとはこのfavorites.htmlをブックマークとしてインポートすればOKです。
インポート後は、「その他のお気に入り」に入っているのでドラッグ・ドロップで移しましょう。
以降、エクセルファイルをマクロ付きで保存する場合は、xlsmで保存する必要があります。今後も使う必要がある場合はぜひお手元に置いておいてくださいね。
今週は以上になります。気に入ったらぜひいいねお願いしますね。