<% Option Explicit Public sysObj,txtDic Public pFolder Set sysObj = CreateObject("Scripting.FileSystemObject") Set pFolder = sysObj.GetFolder(sysObj.GetFile(Request.ServerVariables("PATH_TRANSLATED")).ParentFolder.Path & "\" & Request("SAMPLE_PATH")) ShowSource_PrintHtmlFile '################# フレームワーク開始 ###################### Sub ShowSource_PrintHtmlFile Dim tFile,res,arr,i arr = Array("ASP","HTML","HTM","INC","TXT","PHP") Set txtDic = CreateObject("Scripting.Dictionary") For i=0 To UBound(arr) txtDic(arr(i)) = "" Next Set tFile = Server.CreateObject("DowpEngine.DowpFile") 'テンプレートファイルを読み込む res = tFile.OpenTemplateFile("ShowSource.htm") If res = "" Then ShowSource_PrintPart tFile.GetRootPart Else 'エラー Response.Write "" & res & "" End If End Sub Sub ShowSource_PrintPart(parentPart) Dim i,part,attr Dim pFile,extName,txt Set attr = CreateObject("Scripting.Dictionary") For i = 1 To ParentPart.Parts.Count Set part = ParentPart.Parts.GetPart(i) If part.PartType = 2 Then ShowSource_Print part.GetText ElseIf Part.PartType = 1 Then attr.RemoveAll Select Case part.Key Case "OTHER" For Each pFile In pFolder.Files part.WordItems.Reset extName = UCase(Right(pFile.Name, InStr(StrReverse(pFile.Name), ".") - 1)) If Not txtDic.Exists(extName) Then part.WordItems.GetItem("FILE_NAME").ReplaceValue = pFile.Name part.WordItems.GetItem("FILE_URL").ReplaceValue = Request("SAMPLE_PATH") & "/" & pFile.Name ShowSource_PrintPart part End If Next Case "README" Set txt = sysObj.OpenTextFile(pFolder.Path & "\" & "readme.txt") If Not txt Is Nothing Then part.WordItems.GetItem("FILE_CONTENT").ReplaceValue = Server.HTMLEncode(txt.ReadAll) txt.Close ShowSource_PrintPart part End If Case "FILE" For Each pFile In pFolder.Files part.WordItems.Reset extName = UCase(Right(pFile.Name, InStr(StrReverse(pFile.Name), ".") - 1)) If txtDic.Exists(extName) And UCase(pFile.Name) <> "README.TXT" Then Set txt = pFile.OpenAsTextStream(1) part.WordItems.GetItem("FILE_NAME").ReplaceValue = pFile.Name part.WordItems.GetItem("FILE_CONTENT").ReplaceValue = Server.HTMLEncode(txt.ReadAll) txt.Close ShowSource_PrintPart part End If Next Case Else ShowSource_PrintPart part End Select End If Next End Sub Sub ShowSource_Print(str) Response.Write str End Sub '################# フレームワーク終了 ###################### %>