回答編集履歴

2

補足コメント

2024/03/11 09:41

投稿

otn
otn

スコア84712

test CHANGED
@@ -14,6 +14,7 @@
14
14
  また、カレントディレクトリーを移動してしまうと、全てのファイル指定に影響するので、ファイルやフォルダーを扱っている部分を全部チェック要。
15
15
 
16
16
  300文字程度あればたぶんどれでもいいはず。
17
+ ただし、案2相当はやったことありますが、案3は多分やったこと無いので「多分出来る」くらいでお願いします。
17
18
 
18
19
  案2の変形として、あらかじめsubstコマンドを実行しておくのでなく、VBAスクリプトの中で
19
20
  ・空いているドライブレターを探す

1

タイプミス修正と追記

2024/03/11 08:59

投稿

otn
otn

スコア84712

test CHANGED
@@ -4,13 +4,13 @@
4
4
 
5
5
  案2: 途中にドライブレターを付けておく
6
6
  `D:\aaa\bbb\ccc\中略\yyy\zzz\file.txt`が長すぎるとして、
7
- `subst Z: D:\laaa\bbb\ccc\中略\yyy`をあらかじめコマンドプロンプトやPowerShellで実行しておくと、その場所がZドライブのルートになるので、`Z:\zzz\file.txt`でアクセス出来るはず。
7
+ `subst Z: D:\aaa\bbb\ccc\中略\yyy`をあらかじめコマンドプロンプトやPowerShellで実行しておくと、その場所がZドライブのルートになるので、`Z:\zzz\file.txt`でアクセス出来るはず。
8
8
  空いているドライブレターは人により違うかも知れないので、「部内どのPCでも実行できる」ためには部内でドライブレター割り当てのルールが要りそうですね。
9
9
 
10
10
  また、設定するディレクトリ自体が長すぎるともしかすると出来ないので、途中フォルダーをどこまでsubstしてどこからファイルと一緒に指定するかは工夫要かも。
11
11
 
12
12
  案3:事前準備無しでやるには、Chdir で下に降りていって、そこからの相対パスで指定する。
13
- 上記例だと、VBAスクリプトの中で、`chdir "D:\laaa\bbb\ccc\中略\yyy"`すると、`zzz\file.txt`でアクセスできるはず。これもどこまで指定するかは工夫要かも。
13
+ 上記例だと、VBAスクリプトの中で、`ChDir "D:\aaa\bbb\ccc\中略\yyy" : ChDrive "D" `すると、`zzz\file.txt`でアクセスできるはず。これもどこまで指定するかは工夫要かも。
14
14
  また、カレントディレクトリーを移動してしまうと、全てのファイル指定に影響するので、ファイルやフォルダーを扱っている部分を全部チェック要。
15
15
 
16
16
  300文字程度あればたぶんどれでもいいはず。