「WEB画面情報取得.xls」完成した。のつづき。ソース
「WEB画面情報取得.xls」完成した。のつづき。ソース
■Module6
WEB画面情報取得()
・クリップボードからデータを取得する
・アンエスケープする
・タブ2個を改行に変更する
javascriptの編集ロジックがもともとクッキー用なのでタブ2個は改行のこととしている。
・WEB画面情報取得
タブ区切りのデータをエクセルに貼り付けている。このとき「TBL項目名たち」シートを使い日本語項目名と属性を取得し貼り付けている。
・エクセルシートをフォーマットする。
'Module6 '// ============================================================= '// 2010 kaz PHP自動作成お助けTOOL.(http://kazpgm.ddo.jp/) Start '// 修正BSDライセンス。 '// ============================================================= Option Explicit '文字列にしか対応してません 'VBではクリップボード関数を使いましょう Private Const GHND = &H42 Private Const CF_TEXT = 1 'private Const MAXSIZE = 4096 Private Const MAXSIZE = 4096000 'クリップボードを開く Declare Function OpenClipboard Lib "User32" (ByVal hWnd As Long) As Long 'クリップボードを閉じる Declare Function CloseClipboard Lib "User32" () As Long 'メモリのロックを解除 Declare Function GlobalUnlock Lib "KERNEL32" (ByVal hMem As Long) As Long 'メモリをロック Declare Function GlobalLock Lib "KERNEL32" (ByVal hMem As Long) As Long 'メモリ割り当て Declare Function GlobalAlloc Lib "KERNEL32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long '文字列をグローバル メモリへコピー Declare Function lstrcpy Lib "KERNEL32" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long 'クリップボードハンドル取得 Declare Function GetClipboardData Lib "User32" (ByVal wFormat As Long) As Long 'クリップボードの内容を消去 Declare Function EmptyClipboard Lib "User32" () As Long 'データをクリップボードへコピー Declare Function SetClipboardData Lib "User32" (ByVal wFormat As Long, ByVal hMem As Long) As Long Public Sub WEB画面情報取得() Dim datas() As String Dim meisais() As String Dim i As Integer, j As Integer, k As Integer, m As Integer, p As Integer, q As Integer Dim titleFlg As Boolean Dim strwk As String Dim rIdxBase As Integer Dim Start As Integer Dim objSC As Object Dim str As String Dim text As String Dim rtnJpn As String On Error GoTo ERRWEB画面情報取得 ' クリップボードからデータを取得する str = ClipBoard_GetData rIdxBase = ActiveCell.Row Start = rIdxBase ' アンエスケープする Set objSC = CreateObject("scriptcontrol") objSC.Language = "jscript" str = objSC.CodeObject.unescape(str) ' タブ2個を改行に変更する datas = Split(str, (vbTab & vbTab)) ' WEB画面情報取得 titleFlg = False For j = 0 To UBound(datas) text = datas(j) If text <> "" Then meisais = Split(text, vbTab) m = 0 For k = 0 To UBound(meisais) strwk = meisais(k) Call setCells(Start + j + 1, k + 2 + m, strwk) If k = 1 Then '項目名を求める m = 1 If titleFlg = False Then 'タイトル行 Call setCells(Start + j + 1, k + 2 + m, "日本語名") m = 2 Call setCells(Start + j + 1, k + 2 + m, "TBL属性") Else If Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Cells(1, 1) = "" Then '「TBL項目名たち」なし Call setCells(Start + j + 1, k + 2 + m, "") m = 2 Call setCells(Start + j + 1, k + 2 + m, "") Else rtnJpn = tblItemJpn(strwk) If rtnJpn <> "" Then Call setCells(Start + j + 1, k + 2 + m, rtnJpn) Else q = Len(strwk) * 0.8 '最大で全体の2倍まで同じ項目名まで補完する If q < 3 Then ' 検索が2文字なら見つけにいかない様にした Call setCells(Start + j + 1, k + 2 + m, "") Else For p = 1 To q rtnJpn = tblItemJpn(Mid(strwk, p + 1)) ' 先頭から1文字づつ減らして検索 If rtnJpn <> "" Then Call setCells(Start + j + 1, k + 2 + m, Left(strwk, p) & rtnJpn) Exit For Else rtnJpn = tblItemJpn(Mid(strwk, 1, Len(strwk) - p)) ' 最終文字から1文字づつ減らして検索 If rtnJpn <> "" Then Call setCells(Start + j + 1, k + 2 + m, rtnJpn & Right(strwk, p)) Exit For End If End If Next End If End If m = 2 Call setCells(Start + j + 1, k + 2 + m, tblItemZok(strwk)) End If End If titleFlg = True End If Next k End If Next Start = Start + UBound(datas) If Start = rIdxBase Then MsgBox "ローカルで「iItemZokuForClip.jsをhtmlに埋め込み」画面上でCTL+Uを押してください。" & vbCrLf & _ "<<クリップボードにデータがありませんでした。>>" Else MsgBox "WEB画面情報取得を終了します。" End If ActiveWindow.Zoom = 75 Range("B2").Select Columns("A:A").ColumnWidth = 6# Columns("B:I").Select Selection.ColumnWidth = 18.5 Cells(Start + 3, 1).Activate ' 次の項目をアクティブにする Exit Sub ERRWEB画面情報取得: MsgBox ("WEB画面情報取得検索に失敗しました" & Chr(13) & Chr(13) & "原因は " & Chr(13) & Err.Description) End Sub Private Function ClipBoard_GetData() 'クリップボードから情報を取り出す Dim hClipMemory As Long, lpClipMemory As Long, MyString As String, RetVal As Long If OpenClipboard(0&) = 0 Then MsgBox "他のアプリケーションが使用しているため、クリップボードを開けません。", vbCritical Exit Function End If hClipMemory = GetClipboardData(CF_TEXT) If IsNull(hClipMemory) Then MsgBox "クリップボードハンドル取得に失敗しました", vbCritical GoTo OutOfHere End If lpClipMemory = GlobalLock(hClipMemory) If Not IsNull(lpClipMemory) Then MyString = Space$(MAXSIZE) RetVal = lstrcpy(MyString, lpClipMemory) RetVal = GlobalUnlock(hClipMemory) On Error Resume Next MyString = Mid(MyString, 1, InStr(1, MyString, Chr$(0), 0) - 1) If Err Then 'text以外のデータ MsgBox "クリップボードのデータはテキストでありません", vbCritical Err.Clear MyString = "" End If On Error GoTo 0 Else MsgBox "クリップボード メモリをロックできません", vbCritical End If OutOfHere: RetVal = CloseClipboard() If MyString = "" Then 'ClipBoard_SetData MyString Else ClipBoard_GetData = MyString End If End Function '「TBL項目名たち」シートをVLookupして日本語項目名を取得する。 Private Function tblItemJpn(item) On Error GoTo errTblItemJpn Dim MyVariant As Variant MyVariant = Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Application.VLookup(item, Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Range("A:B"), 2, False) If IsError(MyVariant) Then tblItemJpn = "" Else tblItemJpn = MyVariant End If errTblItemJpn: Err = 0 End Function '「TBL項目名たち」シートをVLookupしてBL属性を取得する。 Private Function tblItemZok(item) On Error GoTo errTblItemZok Dim MyVariant As Variant MyVariant = Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Application.VLookup(item, Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Range("A:C"), 3, False) If IsError(MyVariant) Then tblItemZok = "" Else tblItemZok = MyVariant End If errTblItemZok: Err = 0 End Function Private Function setCells(rIdx As Integer, cIdx As Integer, val As String) If Len(val) < 127 Then Cells(rIdx, cIdx).NumberFormatLocal = "@" Else Cells(rIdx, cIdx).NumberFormatLocal = "G/標準" End If Cells(rIdx, cIdx) = val setCells = rIdx + 1 End Function Sub TBL項目名たちクリア() Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Columns("A:D").Clear Workbooks("WEB画面情報取得.xls").Sheets("環境設定").Activate End Sub Sub TBL項目名たち作成() Dim i, j, Name, Name2 Dim pkeyCount, outIdx Dim 解析するテーブル一覧のエクセル名 As String Dim テーブル英語名_row Dim テーブル英語名_col Dim テーブル日本語名_kbn Dim テーブル日本語名_row Dim テーブル日本語名_col Dim テーブル項目の開始位置_row Dim 項目英語名_col Dim 項目日本語名_col Dim 属性_col Dim 読み飛ばしたいシートたち() As String Dim str As String Dim ignorFlg As Boolean 解析するテーブル一覧のエクセル名 = Application.Workbooks("WEB画面情報取得.xls").Worksheets("環境設定").Cells(10, 4) If 解析するテーブル一覧のエクセル名 = "" Then MsgBox ("解析するテーブル一覧のエクセル名を指定してください。") Exit Sub End If テーブル英語名_row = Application.Workbooks("WEB画面情報取得.xls").Worksheets("環境設定").Cells(12, 5) If テーブル英語名_row = "" Then MsgBox ("テーブル英語名_rowを指定してください。") Exit Sub End If テーブル英語名_col = Application.Workbooks("WEB画面情報取得.xls").Worksheets("環境設定").Cells(12, 6) If テーブル英語名_col = "" Then MsgBox ("テーブル英語名_colを指定してください。") Exit Sub End If テーブル日本語名_kbn = Application.Workbooks("WEB画面情報取得.xls").Worksheets("環境設定").Cells(13, 4) If テーブル日本語名_kbn = "" Then MsgBox ("テーブル日本語名_kbnを指定してください。") Exit Sub End If If テーブル日本語名_kbn <> "シート名使用" Then テーブル日本語名_row = Application.Workbooks("WEB画面情報取得.xls").Worksheets("環境設定").Cells(13, 5) If テーブル日本語名_row = "" Then MsgBox ("指定セル使用のときは、テーブル日本語名_rowを指定してください。") Exit Sub End If テーブル日本語名_col = Application.Workbooks("WEB画面情報取得.xls").Worksheets("環境設定").Cells(13, 6) If テーブル日本語名_col = "" Then MsgBox ("指定セル使用のときは、テーブル日本語名_colを指定してください。") Exit Sub End If End If テーブル項目の開始位置_row = Application.Workbooks("WEB画面情報取得.xls").Worksheets("環境設定").Cells(14, 4) If テーブル項目の開始位置_row = "" Then MsgBox ("テーブル項目の開始位置_rowを指定してください。") Exit Sub End If 項目英語名_col = Application.Workbooks("WEB画面情報取得.xls").Worksheets("環境設定").Cells(15, 6) If 項目英語名_col = "" Then MsgBox ("項目英語名_colを指定してください。") Exit Sub End If 項目日本語名_col = Application.Workbooks("WEB画面情報取得.xls").Worksheets("環境設定").Cells(16, 6) If 項目日本語名_col = "" Then MsgBox ("項目日本語名_colを指定してください。") Exit Sub End If 属性_col = Application.Workbooks("WEB画面情報取得.xls").Worksheets("環境設定").Cells(17, 6) If 属性_col = "" Then MsgBox ("属性_colを指定してください。") Exit Sub End If str = Application.Workbooks("WEB画面情報取得.xls").Worksheets("環境設定").Cells(18, 4) 読み飛ばしたいシートたち = Split(str, vbLf) '読み飛ばしたいシート Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Columns("A:D").Clear Workbooks.Open Filename:=解析するテーブル一覧のエクセル名 outIdx = 1 DoEvents For i = 1 To Sheets.count Sheets(i).Select Sheets(i).Activate ignorFlg = False If UBound(読み飛ばしたいシートたち) > -1 Then For j = 0 To UBound(読み飛ばしたいシートたち) If 読み飛ばしたいシートたち(j) = Sheets(i).Name Then '読み飛ばしたいシートと同じ ignorFlg = True Exit For End If Next End If If ignorFlg = False Then 'テーブル定義シートの場合 Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Cells(outIdx, 1) = LCase(Cells(テーブル英語名_row, テーブル英語名_col)) 'テーブル英語名 If テーブル日本語名_kbn = "シート名使用" Then Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Cells(outIdx, 2) = Sheets(i).Name 'テーブル日本語名 Else Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Cells(outIdx, 2) = Cells(テーブル日本語名_row, テーブル日本語名_col) 'テーブル日本語名 End If Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Cells(outIdx, 3) = "" '属性 Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Cells(outIdx, 4) = LCase(Cells(テーブル英語名_row, テーブル英語名_col)) 'テーブル名 outIdx = outIdx + 1 j = 10 Do While Cells(j, 3) <> "" '項目名が入っている内 If 重複チェック(LCase(Cells(j, 項目英語名_col)), Cells(j, 項目日本語名_col), LCase(Cells(j, 属性_col))) = 0 Then '項目英語名, 項目日本語名, 属性 Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Cells(outIdx, 1) = LCase(Cells(j, 項目英語名_col)) '項目英語名 Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Cells(outIdx, 2) = Cells(j, 項目日本語名_col) '項目日本語名 Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Cells(outIdx, 3) = LCase(Cells(j, 属性_col)) '属性 Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Cells(outIdx, 4) = LCase(Cells(テーブル英語名_row, テーブル英語名_col)) 'テーブル名 outIdx = outIdx + 1 End If j = j + 1 Loop End If Next ActiveWorkbook.Close (False) Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Activate Cells.Select Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Key2:=Range("D1") _ , Order2:=xlAscending, Key3:=Range("B1"), Order3:=xlAscending, Header _ :=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _ , SortMethod:=xlPinYin, DataOption1:=xlSortNormal, DataOption2:= _ xlSortNormal, DataOption3:=xlSortNormal Range("F29").Select Workbooks("WEB画面情報取得.xls").Sheets("環境設定").Activate End Sub '同じものがすでに登録されていたら行番号を戻す。無かったら0を戻す Private Function 重複チェック(項目英語名, 項目日本語名, 属性) Dim i 重複チェック = 0 i = 1 Do While Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Cells(i, 1) <> "" '項目英語名が入っている内 If Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Cells(i, 1) = 項目英語名 And _ Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Cells(i, 2) = 項目日本語名 And _ Workbooks("WEB画面情報取得.xls").Sheets("TBL項目名たち").Cells(i, 3) = 属性 Then 重複チェック = i Exit Do End If i = i + 1 Loop End Function '// ============================================================= '// 2010 kaz PHP自動作成お助けTOOL.(http://kazpgm.ddo.jp/) End '// 修正BSDライセンス。 '// =============================================================
■itemZokuForClip.js
・イベントの上位伝播する。
・Ctrl+U同時押しの場合
・クリップボードへのWEB画面項目属性一覧出力
(tagName,name,日本語名,TBL属性,type,size,maxLength,rows,cols,className,value)
・もとがクッキーに入れるためのロジックなので、2000バイト(1クッキー用)づつに分けてデータを作っている。クッキー向けなのでデータに改行を入れていない。・・・せっかくだからこのままのロジックにしてある。(データを2000バイト1クッキーで自PCにデータをしまうという発想の面白さと、かなりがんばったということを忘れないために残しておく。)
<!-- //_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ //_/ //_/ ============================================================= //_/ 2010 kaz PHP自動作成お助けTOOL.(http://kazpgm.ddo.jp/) Start //_/ 修正BSDライセンス。 //_/ ============================================================= //_/ //_/ ・このJavaScriptはIE専用です //_/ //_/ ・このJavaScriptを追加するとキー押下のイベントをこの関数が取得します。 //_/ WEB画面上でCTL+Uを押下すると現在のINPUTタグtextとpassword、TEXTAREAタグの //_/ レングス情報などをタブ形式でクリップボードに書き出します。 //_/ //_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ // document.onkeydown = function(e) { var shift, ctrl, editText; var elementText = new Array(5); // Mozilla(Firefox, NN) and Opera if (e != null) { keycode = e.which; ctrl = typeof e.modifiers == 'undefined' ? e.ctrlKey : e.modifiers & Event.CONTROL_MASK; shift = typeof e.modifiers == 'undefined' ? e.shiftKey : e.modifiers & Event.SHIFT_MASK; // イベントの上位伝播を防止 //e.preventDefault(); //e.stopPropagation(); // Internet Explorer } else { keycode = event.keyCode; ctrl = event.ctrlKey; shift = event.shiftKey; // イベントの上位伝播を防止 //event.returnValue = false; //event.cancelBubble = true; } // キーコードの文字を取得 keychar = String.fromCharCode(keycode).toUpperCase(); // Ctrl同時押しの場合 if (ctrl) { if (keychar == "U") { //alert('Ctrl+U'); if (e != null) { alert("WEB画面項目属性一覧は、IE以外では使用できません。"); return; } elementText = alertElementsForDebug(); editText = ""; for (var i=0; i < 20; i++) { //alert(";" + elementText[i]); editText = editText + escape(elementText[i]); } if (false == clipboardData.setData( "text" , editText )){ alert("クリップボードへのWEB画面項目属性一覧出力に失敗しました"); } } } } function alertElementsForDebug(){ var inputFlg = false; var elementText = new Array(20); var idx = 0; elementText[0]=""; elementText[1]=""; elementText[2]=""; elementText[3]=""; elementText[4]=""; elementText[5]=""; elementText[6]=""; elementText[7]=""; elementText[8]=""; elementText[9]=""; elementText[10]=""; elementText[11]=""; elementText[12]=""; elementText[13]=""; elementText[14]=""; elementText[15]=""; elementText[16]=""; elementText[17]=""; elementText[18]=""; elementText[19]=""; elementText[idx] +=' URL=' + document.URL + "\t\t"; elementText[idx] += ( 'tagName' + "\t" + 'name' + "\t" + 'type' + "\t" + 'size' + "\t" + 'maxLength' + "\t" + 'rows' + "\t" + 'cols' + "\t" + 'className' + "\t" + 'value' + "\t" + "\t" ); // タブが2個続いたらVBAツールで改行にしている。 for (var i=0; i< document.forms.length; i++) { for (var j=0; j< document.forms[i].elements.length; j++) { var obj = document.forms[i].elements[j]; if ((obj.tagName.toLowerCase() == "input" || obj.tagName.toLowerCase() == "select") && (obj.type.toLowerCase()!="hidden")) { // hiddenは出さない。 //if (obj.tagName.toLowerCase() == "input" && // (obj.type.toLowerCase() == "text" || // obj.type.toLowerCase() == "password")) { if (elementText[idx].length > 2000) { idx ++; } inputFlg = true; elementText[idx] += ( (obj.tagName==""?" ":obj.tagName) + "\t" + (obj.name==""?" ":obj.name) + "\t" + (obj.type==""?" ":obj.type) + "\t"); if (obj.tagName.toLowerCase() == "select" || obj.type.toLowerCase()=="radio" || obj.type.toLowerCase()=="checkbox" || obj.type.toLowerCase()=="hidden" || obj.type.toLowerCase()=="button" || obj.type.toLowerCase()=="submit") { elementText[idx] += ( " \t" + // 空白を入れないとタブが2個続いてしまい後で困る。 " \t"); // 空白を入れないとタブが2個続いてしまい後で困る。 } else { elementText[idx] += ( (obj.size==""?" ":obj.size) + "\t" + (obj.maxLength==""?" ":obj.maxLength) + "\t"); } elementText[idx] += ( " \t" + // 空白を入れないとタブが2個続いてしまい後で困る。 " \t" + // 空白を入れないとタブが2個続いてしまい後で困る。 (obj.className == ""?" ":obj.className) + "\t" + obj.value + " \t" + "\t" ); // タブが2個続いたらVBAツールで改行にしている。 } else if ((obj.tagName.toLowerCase() == "textarea") && (obj.type.toLowerCase()!="hidden")) { // hiddenは出さない。 if (elementText[idx].length > 2000) { idx ++; } inputFlg = false; elementText[idx] += ( (obj.tagName==""?" ":obj.tagName) + "\t" + (obj.name==""?" ":obj.name) + "\t" + " \t" + // 空白を入れないとタブが2個続いてしまい後で困る。 " \t" + // 空白を入れないとタブが2個続いてしまい後で困る。 " \t" + // 空白を入れないとタブが2個続いてしまい後で困る。 (obj.rows==""?" ":obj.rows) + "\t" + (obj.cols==""?" ":obj.cols) + "\t" + (obj.className == ""?" ":obj.className) + "\t" + // ' id=' + obj.id + obj.value + " \t" + "\t" ); // タブが2個続いたらVBAツールで改行にしている。 } } } if (document.forms.length==0) { // formタグがない場合 for (i = 0; i < document.all.length; i++) { var obj = document.all(i); if ((obj.tagName.toLowerCase() == "input" || obj.tagName.toLowerCase() == "select") && (obj.type.toLowerCase()!="hidden")) { // hiddenは出さない。 //if (obj.tagName.toLowerCase() == "input" && // (obj.type.toLowerCase() == "text" || // obj.type.toLowerCase() == "password")) { if (elementText[idx].length > 2000) { idx ++; } inputFlg = true; elementText[idx] += ( (obj.tagName==""?" ":obj.tagName) + "\t" + (obj.name==""?" ":obj.name) + "\t" + (obj.type==""?" ":obj.type) + "\t"); if (obj.tagName.toLowerCase() == "select" || obj.type.toLowerCase()=="radio" || obj.type.toLowerCase()=="checkbox" || obj.type.toLowerCase()=="hidden" || obj.type.toLowerCase()=="button" || obj.type.toLowerCase()=="submit") { elementText[idx] += ( " \t" + // 空白を入れないとタブが2個続いてしまい後で困る。 " \t"); // 空白を入れないとタブが2個続いてしまい後で困る。 } else { elementText[idx] += ( (obj.size==""?" ":obj.size) + "\t" + (obj.maxLength==""?" ":obj.maxLength) + "\t"); } elementText[idx] += ( " \t" + // 空白を入れないとタブが2個続いてしまい後で困る。 " \t" + // 空白を入れないとタブが2個続いてしまい後で困る。 (obj.className == ""?" ":obj.className) + "\t" + obj.value + " \t" + "\t" ); // タブが2個続いたらVBAツールで改行にしている。 } else if ((obj.tagName.toLowerCase() == "textarea") && (obj.type.toLowerCase()!="hidden")) { // hiddenは出さない。 if (elementText[idx].length > 2000) { idx ++; } inputFlg = false; elementText[idx] += ( (obj.tagName==""?" ":obj.tagName) + "\t" + (obj.name==""?" ":obj.name) + "\t" + " \t" + // 空白を入れないとタブが2個続いてしまい後で困る。 " \t" + // 空白を入れないとタブが2個続いてしまい後で困る。 " \t" + // 空白を入れないとタブが2個続いてしまい後で困る。 (obj.rows==""?" ":obj.rows) + "\t" + (obj.cols==""?" ":obj.cols) + "\t" + (obj.className == ""?" ":obj.className) + "\t" + // ' id=' + obj.id + obj.value + " \t" + "\t" ); // タブが2個続いたらVBAツールで改行にしている。 } } } return elementText; } //_/ ============================================================= //_/ 2010 kaz PHP自動作成お助けTOOL.(http://kazpgm.ddo.jp/) End //_/ 修正BSDライセンス。 //_/ ============================================================= //-->
■itemZokuForClipStart.php
・.htaccess内に記述する
php_value auto_prepend_file "/phpのディレクトリ/itemZokuForClipStart.php"
<?php // ============================================================= // 2010 kaz PHP自動作成お助けTOOL.(http://kazpgm.ddo.jp/) Start // 修正BSDライセンス。 // ============================================================= // itemZokuForClip.jsをphp実行後htmlの<head>前に入れるための前準備 ob_start(); // 重要:既存.htaccessのphp_value auto_prepend_fileにすでに書いてある場合、ここに、そのphp名を書く //include 'xxxxxxx.php'; // 重要:その後、既存.htaccessの「php_value auto_prepend_file」をコメントアウト。次行に「php_value auto_prepend_file "itemZokuForClipStart.php"」を書く。 // ============================================================= // 2010 kaz PHP自動作成お助けTOOL.(http://kazpgm.ddo.jp/) End // 修正BSDライセンス。 // ============================================================= ?>
■itemZokuForClipEnd.php
・.htaccess内に記述する
php_value auto_append_file "/phpのディレクトリ/itemZokuForClipEnd.php"
<?php // ============================================================= // 2010 kaz PHP自動作成お助けTOOL.(http://kazpgm.ddo.jp/) Start // 修正BSDライセンス。 // ============================================================= // 重要:既存.htaccessのphp_value auto_append_fileにすでに書いてある場合、ここに、そのphp名を書く //include 'xxxxxxxx.php'; // 重要:その後、既存.htaccessの「php_value auto_append_file」コメントアウト。次行に「php_value auto_append_file "itemZokuForClipEnd.php"」を書く。 // itemZokuForClip.jsをphp実行後htmlの<head>前に入れる。 $itemZokuForClipDisp =ob_get_contents(); ob_end_clean(); echo preg_replace('/(.*)<\/head>(.*)/i', "${1}<script type=\"text/javascript\" src=\"WEB上のルート/itemZokuForClip.js\" charset=\"utf-8\"></script>\n</head>${3}", $itemZokuForClipDisp); // ============================================================= // 2010 kaz PHP自動作成お助けTOOL.(http://kazpgm.ddo.jp/) End // 修正BSDライセンス。 // ============================================================= ?>
3/03 01:00-02:00 07:00-07:30