まりふのひと

IE11のフィードをExcelから開けるように‥‥ 出来たかも

 今、wwwの環境は(OSは Windows10)

  1. 既定のブラウザーFirefoxにしている。
  2. Internet Explorer(IE11)のフィード(RSS)は、メーラー Thunderbirdに移行中‥‥
    • この際、更新の無いものは捨てたい...
  3. そして IE11から卒業したいのだが、それも出来ない。
    • Firefoxで新しいフィードのURLを取得する方法がわからない...
    • mhtファイルを多数持っているが、IE11以外で開けるアプリが見つからない...

 IE11の「お気に入り」は「お気に入りバー」を残して全て削除した。
で、今回は「IE11のフィードを全て削除する」ことを目的に、フィードURLを Excelに落とし、ハイパーリンクを張ったら見られるかも‥‥ という 無謀な挑戦 ...


§1.IE11/フィードのエクスポート
  1. Firefox移行に関するファイルを入れるフォルダーを作る。
    • 例えば、ドキュメントに「Firefox移行」フォルダーを作る。
  2. IE11を開く。
  3. ⭐(お気に入り)⇒[フィード]を開く。(Alt+C)
  4. [お気に入りに追加]右端の「▼」をクリックし、[インポートとエクスポート]を選択する。
  5. ◉ファイルにエクスポートする ⇒「次へ」
  6. ☑フィード ⇒[次へ]
  7. [参照]をクリックし、「Firefox移行」フォルダーを指定する。ファイル名(feeds.opml)は変更しない。
  8. 参照結果を確認し、[エクスポート]する。
  9. 「これらの設定を正しくエクスポートしました」が表示されたら[完了]する。
  10. IE11 を閉じる。


§2.フィード エクスポートファイルからシーケンシャルファイルを作る
  1. メモ帳を開く。
  2. 上記で保存した feeds.opmlファイルを開く。f:id:ogohnohito:20190211114943p:plain:right:w400
     ∵ Wordで開きたいのだが、文字化したため。

    1. ファイル ⇒ 開く
    2. Firefox移行・フォルダーを開く。
    3. ①[すべてのファイル(*.*)]に変更すると、
    4. ②feeds.opml が見えるので、これを選択する。
    5. ファイル名に "feeds.opml" が入るので、
    6. [開く]
  3. 全て選択し、(Ctrl+A)
  4. クリップボードにコピーする。(Ctrl+C)
  5. メモ帳は閉じる。
    • 下記の、Wordに貼り付けた後、破棄した方が安心かも...
  6. Wordを起動し、
  7. 貼り付ける。(Ctrl+V)
  8. 書式を整える
     下記操作でまともに表示される‥‥ はず。
    1. "><" を ">^p<" に置換する。‥‥ >< の間に段落記号を入れる(改行する)
    2. 両端揃え⇒左揃え にする。(見易くするためで任意)
    3. 印刷の向きを「横」にする。(〃)
    4. 余白を狭くする。(〃)
  9. 名前を付けて、下記条件で保存する。
    • feeds.opmlファイルと同じ場所に
    • ファイルの種類:書式なし(*.txt)
    • ファイル名:feeds
  10. 警告が出た場合は、⦿Windows(規定値)で[OK]する。



§3.Excel VBAの開発(暫定版)

 暫定版であるが、下記で体験できる‥‥ はず。

  1. まりふのひとの公開OneDrive/Library/zipLib/Feeds2Excel.zip を開き、
  2. Feeds2Excel.xlsm を feeds.txt のあるフォルダーに復元し、
  3. Feeds2Excel.xlsm を開く。



 機能としてはシーケンシャル テキストファイルを読み、シートに書き出す‥‥ という単純なもの...
解ったことは、

  1. ハイパーリンクをクリックすると、既定のブラウザー Firefoxが開き
    この XML ファイルにはスタイル情報が関連づけられていないようです。
    と言われ、フィードを見ることは出来なかった。
  2. 既定のブラウザーInternet Explorerに変えたら‥‥ 成功した。(IE11でフィードをクリックした時の画面が出た)
  3. これでは面白くないので、Excel/VBAInternet 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
  4. ショートカットキー(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