'/** ' * getTargetFolders ' * 与えられたパス配下のフォルダをサブフォルダまで配列で取得する ' * @param strDirectoryPath パス ' * @return フォルダ名のString配列 ' */ Function getTargetFolders(ByVal strDirectoryPath As String) As String() Dim buf As String Dim i As Long: i = 0 Dim folders() As String: ReDim folders(0) Dim nowPath As String folders(0) = strDirectoryPath '親フォルダループ Do nowPath = folders(i) & "\" buf = Dir(nowPath, vbDirectory) '子フォルダループ Do While buf <> "" If GetAttr(nowPath & buf) = vbDirectory _ And buf <> "." And buf <> ".." Then '配列末尾に格納 ReDim Preserve folders(UBound(folders) + 1) folders(UBound(folders)) = nowPath & buf End If buf = Dir() Loop 'フォルダ走査完了 If i = UBound(folders) Then Exit Do Else i = i + 1 End If Loop getTargetFolders = folders End Function
【JavaScript】指定時間後や定期的に処理を実行する。
window.setInterval(function, delay)
setInterval
は、functionに与えられた関数・処理をdelay(ms)ごとに繰り返す処理。window.setTimeout(function, delay)
setTimeout
は、functionに与えられた関数・処理をdelay(ms)後に実行する処理。
setInterval
で定義された処理を止める場合は、setInterval
の戻り値に対してclearInterval
を、
setTimeout
で定義された処理を止める場合は、setTimeout
の戻り値に対してclearTimeout
を行う。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script> (function(){ // windowのロード時にidがdatetimeのエレメントに時刻を挿入 window.addEventListener("load",function(){ document.getElementById("datetime").innerText = new Date().toString(); },false); // 1000ms毎にidがdatetimeのエレメントの時刻を書き換え var interVal = window.setInterval(function(){ document.getElementById("datetime").innerText = new Date().toString(); }, 1000); // 10000ms後に繰り返し処理を終了する window.setTimeout(function(){ clearInterval(interVal); }, 10000); })(); </script> </head> <body> <p id="datetime"></p> </body> </html>
【JavaScript】Objectタグのdata要素を変更する
HTMLElement.setAttribute("data",変更後data要素)
だとIEでうまくいかなかったので、
IEも対応する場合はObject要素自体のDOMをreplaceChild
で置き換えてやる必要がある。
/** * changeObjectData * objectタグの表示内容を更新する * * @param {object} element - 変更対象領域のエレメント * @param {string} data - 変更後のdata要素 * @return {boolean} true */ function changeObjectData(element,data){ //現在のObjectタグの内容を複製 var cln = element.cloneNode(true); //複製したもののdata要素を変更する cln.setAttribute("data",data); //自分自身をdata要素変更後のエレメントに置き換える element.parentNode.replaceChild(cln, element); return true; } // ex.利用例 changeObjectData(document.getElementById("hoge"),"pdf/fuga.pdf");