majishiniHomeCategoriesTagsRSSVBAのカンレトディレクトリをUNCでkiuyu2013/05/31ドライブレターありきのChDrive/ChDirVBAでカレントディレクトリ(今のWindowsなら「カンレトフォルダ」という言い方が正しい?)を変更するには、ChDriveとChDirします。VBAの話なので、Wordに限らずExcelやAccess等でも同じはず。VB6でも同じだと思うけど知らない。'C:\yamada\takaoでも構わないまるでコマンドプロンプトです。いや、cdコマンドに/dオプションがあるだけcmd.exeの方が賢いかも。UNCが使えないサーバー上のいわゆる共有フォルダを扱う際に、UNC(\ServerName\FolderName...のような表記)を利用することがよくあります。ChDirではUNCを扱えません。VSTOへの移行を促したいM$の(地味な)陰謀であります。APIであるSetCurrentDirectoryを使えばUNCが使えます。”\ServerName\FolderName”をカレントディレクトリとする場合は以下のとおりです。Sub実行結果は、\\ServerName\FolderNameとなります。2007)が出てからファイル名にUnicodeが使われることが多くなっています。SetCurrentDirectoryAではUnicodeが使えないので、SetCurrentDirectoryWが良さそうです。宣言時にlpPathNameをLongにすること、呼ぶ時にStrPtrを介すことに気をつけてください。ところで、Officeが64bitになったらAPIも64bitの方を呼ぶんだろうな。なるとポインタを渡すときはLongじゃダメってことか。StrPtr("\\?\C:\yamada\takao")でもいけたりします。Previous連続していないSelectionはVBAから取得できないNextWordの表内の段落記号もどき。