FileSystemObjectの~.Pathがネットワークで文字化け?
FSOの旧版(~5.6)では、共有名に日本語などを使うと、~.Pathが文字化けします。
文字化けパターンからすると、共有名がUnicodeLEなのに、シフトJISだと思って、シフトJIS→Unicode変換しているようです。
そこで、~.Pathの代替関数を作って、~.Path の代わりに GetPathName(~) を使います。
ここで、~はFileまたはFolderオブジェクトです。
Dim fso
Set fso=CreateObject("Scripting.FileSystemObject")
MsgBox GetPathName(fso.GetFolder("\\サーバ名\共有名"))
Function GetPathName(fObject)
If fObject.Attributes And 16 Then
If fObject.IsRootFolder Then
GetPathName=fObject.Drive.Path & "\"
Else
GetPathName=fso.BuildPath(GetPathName(fObject.ParentFolder),fObject.Name)
End If
Else
GetPathName=fso.BuildPath(GetPathName(fObject.ParentFolder),fObject.Name)
End If
End Function
« バッチファイルでDEL文字を使う。 | トップページ | pingやwmicなど、改行文字がおかしい(CR+CR+LF)コマンド出力を補正する。 »