まりふのひと

Excel2010でHTML出力する時のタイトルを変更したいのだが...

 まりふパソコン学習会の開催予定表Excel で作っているが、タブに表示される文字列を

麻里府パソコン同好会 ⇒ まりふパソコン学習会 に変更したい
のだが、その方法が解らない。
やっと見つけたページ‥‥

  • Webページで保存時のページタイトル設定 (エクセルの学校)
     ページタイトルの"変更"ではなく、ページタイトルの"設定"をしたいのですが、どのようにしたら可能ですか? 更新(保存)する都度にページタイトルを変更するのが、面倒なので"設定"をしたいのです。
     ちなみに、マクロの自動記録でコードを見てみてもページタイトルの変更部分については、何も書かれていませんがマクロを実行すると、ちゃんとページタイトルは希望通り変更されています...
    1. With CreateObject( "Scripting.FileSystemObject")
    2.   txt = .OpenTextFile( htmlFileName ).ReadAll
    3.   If InStr( txt, "<title>" ) = 0 Then
    4.     txt = Replace( txt, "", _
    5.       "<title>" & htmlTitle & "</title>" & vbNewLine & "</head>" )
    6.     .CopyFile htmlFileName, htmlFileName & ".bak"
    7.     .CreateTextFile( htmlFileName, True ).Write txt
    8.   End If
    9. End With

     なるほどぉ〜、HTMLのソースに直接タグを追加しちゃえばいいんですね。
    テキストファイルで開けばソース変更できますものね。この発想力、感動です!

「<title>が無ければ、</head>の前にタイトルを入れる」ということと理解したが、

  • 私の場合は「変更」なんです。
  • <title>は後ろの方が優先されるのかもしれませんが、上手くできないのです...


 悩んだ挙句、自分流でコーディングしてみた。“麻里府パソコン同好会”を“まりふパソコン学習会”に置換するもの。

  1. Function htmlタイトル変更(argFileName As String) As Boolean 
  2. Dim FSO As Object 
  3. Dim objTextStream As Object 
  4. Dim i As Long 
  5. Dim strStream As String, newStream As String 
  6. Set FSO = CreateObject("Scripting.FileSystemObject") 
  7. Set objTextStream = FSO.OpenTextFile(argFileName, 1) 
  8. strStream = objTextStream.ReadAll 
  9. objTextStream.Close 
  10. Set objTextStream = Nothing 
  11.  
  12. i = InStr(strStream, "麻里府パソコン同好会") 
  13. If i > 0 Then 
  14. newStream = Replace(strStream, "麻里府パソコン同好会", "まりふパソコン学習会") 
  15. FSO.CopyFile argFileName, argFileName & ".bak" 
  16. FSO.CreateTextFile(argFileName, True).Write newStream 
  17. End If 
  18. Set FSO = Nothing 
  19.  
  20. End Function 


 一応成功したが、発想の転換 ですねェ〜〜〜