回答編集履歴
3
間違い修正
answer
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
`Set xls = CreateObject("Excel.Application")`だけではファイルは生成されないので、
|
2
2
|
新規ブックを追加して保存するときのデフォルトのフォルダーのことだと推測して回答します。
|
3
3
|
|
4
|
-
ChDir でカレントデ
|
4
|
+
~~ChDir でカレントディレクトリを変更すれば、そこがデフォルトのフォルダーになります。
|
5
|
-
別ドライブに保存したい場合は、ChDrive でカレントドライブを変更してから ChDir です。
|
5
|
+
別ドライブに保存したい場合は、ChDrive でカレントドライブを変更してから ChDir です。~~
|
6
|
-
|
6
|
+
AccessからはExcelのカレントディレクトリは変更できないようです。
|
7
7
|
|
8
|
-
[【ExcelVBA入門】カレントディレクトリの取得・変更方法を徹底解説! | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト](https://www.sejuku.net/blog/74911)
|
9
8
|
|
10
9
|
下記の実行してみて、イミディエイトの結果をみて意味を考えてください。
|
11
10
|
|
2
コードにコメント追記
answer
CHANGED
@@ -21,8 +21,8 @@
|
|
21
21
|
Set wb = xls.Workbooks.Add 'ここで新規ブックが追加される
|
22
22
|
Debug.Print "新規: "; wb.Path 'まだ、ファイルとして保存されていないので空白
|
23
23
|
|
24
|
-
wb.SaveAs "test.xlsx"
|
24
|
+
wb.SaveAs "test.xlsx" 'ファイル名だけだと
|
25
|
-
Debug.Print "保存後: "; wb.Path
|
25
|
+
Debug.Print "保存後: "; wb.Path 'カレントディレクトリに保存される
|
26
26
|
|
27
27
|
wb.SaveAs "C:\test\test.xlsx" 'フルパスだと
|
28
28
|
Debug.Print "フルパスで保存後: "; wb.Path 'そのフォルダに保存される
|
1
説明コード追記
answer
CHANGED
@@ -5,4 +5,31 @@
|
|
5
5
|
別ドライブに保存したい場合は、ChDrive でカレントドライブを変更してから ChDir です。
|
6
6
|
詳細は下記参照。
|
7
7
|
|
8
|
-
[【ExcelVBA入門】カレントディレクトリの取得・変更方法を徹底解説! | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト](https://www.sejuku.net/blog/74911)
|
8
|
+
[【ExcelVBA入門】カレントディレクトリの取得・変更方法を徹底解説! | 侍エンジニア塾ブログ(Samurai Blog) - プログラミング入門者向けサイト](https://www.sejuku.net/blog/74911)
|
9
|
+
|
10
|
+
下記の実行してみて、イミディエイトの結果をみて意味を考えてください。
|
11
|
+
|
12
|
+
```vba
|
13
|
+
Sub Sample1()
|
14
|
+
Dim xls As Object
|
15
|
+
Set xls = CreateObject("Excel.Application")
|
16
|
+
|
17
|
+
xls.Visible = True
|
18
|
+
Debug.Print xls.Path 'これは EXCEL.EXE自体のパス 変更不可
|
19
|
+
|
20
|
+
Dim wb As Object
|
21
|
+
Set wb = xls.Workbooks.Add 'ここで新規ブックが追加される
|
22
|
+
Debug.Print "新規: "; wb.Path 'まだ、ファイルとして保存されていないので空白
|
23
|
+
|
24
|
+
wb.SaveAs "test.xlsx"
|
25
|
+
Debug.Print "保存後: "; wb.Path
|
26
|
+
|
27
|
+
wb.SaveAs "C:\test\test.xlsx" 'フルパスだと
|
28
|
+
Debug.Print "フルパスで保存後: "; wb.Path 'そのフォルダに保存される
|
29
|
+
|
30
|
+
|
31
|
+
wb.Close
|
32
|
+
xls.Quit
|
33
|
+
Set xls = Nothing
|
34
|
+
End Sub
|
35
|
+
```
|