回答編集履歴

1

追記

2016/11/10 04:19

投稿

ynakano
ynakano

スコア1894

test CHANGED
@@ -28,15 +28,15 @@
28
28
 
29
29
 
30
30
 
31
+ そして
32
+
31
- して「ADO.SaveToFile SAVEPATH & "/" & TEXTFILE, 2」は以下のように書き換えてください。
33
+ 流れとしては、SetCurrentDirectory関数でUNCパス上のディレクトリに移動して、そこにファイルを書き出すことになります。「ADO.SaveToFile SAVEPATH & "/" & TEXTFILE, 2」は以下のように書き換えてください。
32
34
 
33
35
  ```ここに言語を入力
34
36
 
35
37
  ADO.SaveToFile TEXTFILE, 2
36
38
 
37
39
  ```
38
-
39
- 流れとしては、SetCurrentDirectory関数でUNCパス上のディレクトリに移動して、そこにファイルを書き出すことになります。
40
40
 
41
41
  また、SetCurrentDirectory関数はExcelが標準で持っていないので、kernel32.dllを呼び出して使用しています。
42
42
 
@@ -55,3 +55,35 @@
55
55
 
56
56
 
57
57
  【補足】SetcurrentDirectoryWというものもあります。UNICODEの場合はこちらでないとダメなようです。
58
+
59
+
60
+
61
+ ###2016/11/10 13:15追記
62
+
63
+ 質問の編集を受けて追記します。
64
+
65
+ 随分簡単な方法があったのですね。
66
+
67
+ これを使うのなら以下の通りにすればよいと思います。
68
+
69
+
70
+
71
+ "ADO.SaveToFile ..."の前に以下の行を追加します。
72
+
73
+ ```ここに言語を入力
74
+
75
+ CreateObject("WScript.Shell").CurrentDirectory = SAVEPATH
76
+
77
+ ```
78
+
79
+ 「ADO.SaveToFile SAVEPATH & "/" & TEXTFILE, 2」は以下のように書き換えてください。
80
+
81
+ ```ここに言語を入力
82
+
83
+ ADO.SaveToFile TEXTFILE, 2
84
+
85
+ ```
86
+
87
+ これであっさりできました(テストの前提条件は先ほどと同じ)。
88
+
89
+ DLLなんか使わなくてラクですね。