まりふパソコン学習会の開催予定表は Excel で作っているが、タブに表示される文字列を
麻里府パソコン同好会 ⇒ まりふパソコン学習会 に変更したいのだが、その方法が解らない。
やっと見つけたページ‥‥
- Webページで保存時のページタイトル設定 (エクセルの学校)
ページタイトルの"変更"ではなく、ページタイトルの"設定"をしたいのですが、どのようにしたら可能ですか? 更新(保存)する都度にページタイトルを変更するのが、面倒なので"設定"をしたいのです。
ちなみに、マクロの自動記録でコードを見てみてもページタイトルの変更部分については、何も書かれていませんがマクロを実行すると、ちゃんとページタイトルは希望通り変更されています...
- With CreateObject( "Scripting.FileSystemObject")
- txt = .OpenTextFile( htmlFileName ).ReadAll
- If InStr( txt, "<title>" ) = 0 Then
- txt = Replace( txt, "", _
- "<title>" & htmlTitle & "</title>" & vbNewLine & "</head>" )
- .CopyFile htmlFileName, htmlFileName & ".bak"
- .CreateTextFile( htmlFileName, True ).Write txt
- End If
- End With
なるほどぉ〜、HTMLのソースに直接タグを追加しちゃえばいいんですね。
テキストファイルで開けばソース変更できますものね。この発想力、感動です!
「<title>が無ければ、</head>の前にタイトルを入れる」ということと理解したが、
- 私の場合は「変更」なんです。
- <title>は後ろの方が優先されるのかもしれませんが、上手くできないのです...
悩んだ挙句、自分流でコーディングしてみた。“麻里府パソコン同好会”を“まりふパソコン学習会”に置換するもの。
- Function htmlタイトル変更(argFileName As String) As Boolean
- Dim FSO As Object
- Dim objTextStream As Object
- Dim i As Long
- Dim strStream As String, newStream As String
-
- Set FSO = CreateObject("Scripting.FileSystemObject")
- Set objTextStream = FSO.OpenTextFile(argFileName, 1)
- strStream = objTextStream.ReadAll
- objTextStream.Close
- Set objTextStream = Nothing
-
- i = InStr(strStream, "麻里府パソコン同好会")
- If i > 0 Then
- newStream = Replace(strStream, "麻里府パソコン同好会", "まりふパソコン学習会")
- FSO.CopyFile argFileName, argFileName & ".bak"
- FSO.CreateTextFile(argFileName, True).Write newStream
- End If
- Set FSO = Nothing
-
- End Function
一応成功したが、発想の転換 ですねェ〜〜〜