« 「Web ページ、完全」で保存すると、ファイル名が変更できない。 | トップページ | PDFファイルをページを指定して印刷する。 »

2007年12月20日 (木)

「Web ページ、完全」をひとつのフォルダにまとめて管理する。

~.htm を ~.files フォルダの中に default.htm として入れます。
~.htm 内のリンクも「~.files」を含まない相対パスに書き換えます。

MakeDefaultPage.VBS ~.htm

Option Explicit
Dim Path
Dim fso
Dim BaseName
Dim Stream
Dim Text
Dim re
Dim Matches
Dim charset
Path=WScript.Arguments.Item(0)
Set fso=CreateObject("Scripting.FileSystemObject")
BaseName=fso.GetBaseName(Path)
Const adTypeText=2
Set Stream=CreateObject("ADODB.Stream")
Stream.Open
Stream.Type=adTypeText
Stream.Charset="iso-8859-1"
Stream.LoadFromFile Path
Text=Stream.ReadText(-1)
Set re=new RegExp
re.IgnoreCase=True
re.Pattern="<META\s+[^>]*charset\s*=\s*([-A-Za-z0-9_]+)"
re.Global=False
Set Matches=re.Execute(Text)
If Matches.Count Then charset=Matches.Item(0).SubMatches.Item(0)
Stream.Position=0
If charset<>"" Then Stream.Charset=charset
Text=Stream.ReadText(-1)
re.Pattern="src=""" & BaseName & ".files/"
re.Global=True
Text=re.Replace(Text,"src=""")
Stream.Position=0
Stream.WriteText Text
Stream.SaveToFile fso.GetParentFolderName(Path) & "\" & BaseName & ".files\default.htm"
Stream.Close
Set Stream=Nothing

処理後、default.htm が問題なく表示されれば、元の ~.htm を削除します。
再度処理するときは、先に default.htm を削除します。

OpenDefaultPage.VBS フォルダ

SendTo フォルダに置くか、htmfile に関連付けます。

CreateObject("WScript.Shell").Run """" & WScript.Arguments.Item(0) & "\default.htm"""

フォルダを右クリックや「送る」で default.htm を開きます。

« 「Web ページ、完全」で保存すると、ファイル名が変更できない。 | トップページ | PDFファイルをページを指定して印刷する。 »