今、wwwの環境は(OSは Windows10)
- 既定のブラウザーは Firefoxにしている。
- Internet Explorer(IE11)のフィード(RSS)は、メーラー Thunderbirdに移行中‥‥
- この際、更新の無いものは捨てたい...
- そして IE11から卒業したいのだが、それも出来ない。
- Firefoxで新しいフィードのURLを取得する方法がわからない...
- mhtファイルを多数持っているが、IE11以外で開けるアプリが見つからない...
IE11の「お気に入り」は「お気に入りバー」を残して全て削除した。
で、今回は「IE11のフィードを全て削除する」ことを目的に、フィードURLを Excelに落とし、ハイパーリンクを張ったら見られるかも‥‥ という 無謀な挑戦 ...
§1.IE11/フィードのエクスポート
- Firefox移行に関するファイルを入れるフォルダーを作る。
- 例えば、ドキュメントに「Firefox移行」フォルダーを作る。
- IE11を開く。
- ⭐(お気に入り)⇒[フィード]を開く。(Alt+C)
- [お気に入りに追加]右端の「▼」をクリックし、[インポートとエクスポート]を選択する。
- ◉ファイルにエクスポートする ⇒「次へ」
- ☑フィード ⇒[次へ]
- [参照]をクリックし、「Firefox移行」フォルダーを指定する。ファイル名(feeds.opml)は変更しない。
- 参照結果を確認し、[エクスポート]する。
- 「これらの設定を正しくエクスポートしました」が表示されたら[完了]する。
- IE11 を閉じる。
§2.フィード エクスポートファイルからシーケンシャルファイルを作る
- メモ帳を開く。
- 上記で保存した feeds.opmlファイルを開く。
∵ Wordで開きたいのだが、文字化したため。 - 全て選択し、(Ctrl+A)
- クリップボードにコピーする。(Ctrl+C)
- メモ帳は閉じる。
- 下記の、Wordに貼り付けた後、破棄した方が安心かも...
- Wordを起動し、
- 貼り付ける。(Ctrl+V)
- 書式を整える
下記操作でまともに表示される‥‥ はず。- "><" を ">^p<" に置換する。‥‥ >< の間に段落記号を入れる(改行する)
- 両端揃え⇒左揃え にする。(見易くするためで任意)
- 印刷の向きを「横」にする。(〃)
- 余白を狭くする。(〃)
- 名前を付けて、下記条件で保存する。
- feeds.opmlファイルと同じ場所に
- ファイルの種類:書式なし(*.txt)
- ファイル名:feeds
- 警告が出た場合は、⦿Windows(規定値)で[OK]する。
§3.Excel VBAの開発(暫定版)
暫定版であるが、下記で体験できる‥‥ はず。
- まりふのひとの公開OneDrive/Library/zipLib/Feeds2Excel.zip を開き、
- Feeds2Excel.xlsm を feeds.txt のあるフォルダーに復元し、
- Feeds2Excel.xlsm を開く。
機能としてはシーケンシャル テキストファイルを読み、シートに書き出す‥‥ という単純なもの...
解ったことは、
- ハイパーリンクをクリックすると、既定のブラウザー Firefoxが開き
この XML ファイルにはスタイル情報が関連づけられていないようです。 と言われ、フィードを見ることは出来なかった。 - 既定のブラウザーを Internet Explorerに変えたら‥‥ 成功した。(IE11でフィードをクリックした時の画面が出た)
- これでは面白くないので、Excel/VBAで Internet Explorerを起動する Subを作り、
Sub IEでURLを開く()
Const IEPath As String = "C:\Program Files\internet explorer\iexplore.exe"
Dim url As String
url = Selection.Value
Shell IEPath & " " & url
End Sub - ショートカットキー(Ctrl+Shift+I)で起動するようにしたら‥‥ 2. と同じ画面が出た。
- (1)IE11のウィンドウが表に出ない (2)ウィンドウが縮小された状態で表示される等、課題はある。
Excel VBAのコード(メインのみ)
Function Feeds2Excel() As Boolean
Dim mbTitle As String
Dim dsn As Long
Dim r As Long, lastRow As Long
Dim strInput As String, strString As String
Dim strFolder As String, strName As String, strURL As String, strType As String
mbTitle = "opml2Excel/" & ThisWorkbook.Name
dsn = FreeFile
Open ActiveWorkbook.path & "\feeds.txt" For Input As dsn
'出力シートクリア
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Clear
Range("A2").Select
r = 1
Do Until EOF(dsn)
Do
Input #dsn, strInput
If Left(strInput, 8) <> "<outline" Then Exit Do
strName = getString(strInput, "text")
strURL = getString(strInput, "xmlUrl")
If strURL = "" Then strFolder = strName: Exit Do
strType = getString(strInput, "type")
r = r + 1
Cells(r, 1) = strFolder
Cells(r, 2) = strName
Cells(r, 3) = strType
Cells(r, 4) = strURL
Exit Do
Loop
Loop
Close #dsn
'ハイパーリンクを張る
lastRow = Cells(Rows.Count, 4).End(xlUp).Row
For r = 2 To lastRow
strURL = Cells(r, 4)
If strURL <> "" Then
With ActiveSheet
.Hyperlinks.Add .Cells(r, 2), strURL
End With
End If
Next
End Function