カレントディレクトリの求め方
VB6では、実行ファイルがあるディレクトリが、カレントディレクトリになります。
しかし、VBSやVBAでは、WSH本体やEXCEL本体のあるディレクトリが、カレントディレクトリになります。
したがって、VBスクリプト(.vbs)やEXCELブック(.xls)があるディレクトリのパス情報も必要になるケースがあります。
以下は、そのパス情報取得のスクリプトです。
VBSの場合
Dim vntCurrentDirectory Dim objWshShell Set objWshShell = WScript.CreateObject("WScript.Shell") vntCurrentDirectory = objWshShell.CurrentDirectory MsgBox vntCurrentDirectory Set objWshShell = Nothing
VBAの場合
Dim vntCurrentDirectory Dim intIdx As Integer For intIdx = Len(ActiveWorkbook.FullNameURLEncoded) To 1 Step -1 If Mid(ActiveWorkbook.FullNameURLEncoded, intIdx, 1) = "\" Then Exit For Next vntCurrentDirectory = Mid(ActiveWorkbook.FullNameURLEncoded, 1, intIdx - 1) MsgBox vntCurrentDirectory
VB6の場合
Dim vntCurrentDirectory vntCurrentDirectory = CurDir