タイトル : Re^2: 共有フォルダについて。 投稿日 : 2008/01/22(Tue) 13:18 投稿者 : 魔界の仮面弁士
> > この時BからAのCドライブにWork_Cがあることを確認する方法を教えて下さい。 > > http://www.vbstation.net/spec/S2_6.htm よく見ると、このサンプルは微妙に間違っているようなので注意してください。 処理手順は良いのですが、Unicode API に対して文字列を渡す際に、 Declare Function NetShareGetInfo Lib "netapi32" (ByVal servername As String, … のように String 変数に 再度 Unicode 変換にしてから渡しています。 これは正しくは、Unicode 文字列を示す Byte 配列の先頭要素を渡すべきです。 サンプルのままだと、偶然うまくいくこともありますが、失敗する可能性も高いです。 たとえば「てすと」という共有名であれば成功しても、 「ドキュメント」などの共有名は処理できません。 'これは文字化けせず、「てすと」に戻るのだが Debug.Print StrConv(StrConv("てすと", vbUnicode), vbFromUnicode) 'これは壊れてしまう Debug.Print StrConv(StrConv("ドキュメント", vbUnicode), vbFromUnicode) |