ワークブックのパスを取得する
パスとは、
ブックが保存されているフォルダの場所のことです。
例えば、
C:\Users\Username\Documents\
のようなものです。
アクティブブックのパスは
次のコードで取得できます。
ActiveWorkbook.Path
A1セルにパスの値を入れるには
次のコードのようにします。
|
Sub macro20200327a() Sheets.Add 'シート追加 |
実行結果一例:
シートが追加され、
アクティブブックのパスが入力されました。
開いているすべてのブックのパスを取得したい場合は、
For Each文を使って
Workbookオブジェクトに格納されているすべてのブックに対して
パスを取得していきます。
Workbookオブジェクトには
開いているすべてのブックが格納されています。
|
Sub macro20200327b() Dim wb As Workbook |
次は取得したパスを使って
アクティブブックと同じフォルダに
アクティブブックの複製を保存するコードを作成してみます。
変数wb_pathにアクティブブックのパスを入れます。
複製として保存するブック名は変数wb_nameです。
アクティブブックの名前+日時を
複製するブックの名前にします。
SaveCopyAsメソッドで
アクティブブックの複製を名前を付けて保存します。
このときActiveWorkbook自体は保存や変更はされません。
|
Sub macro20200327c() Dim wb_path As String 'アクティブブックのパス End Sub |
実行結果は
アクティブブックが保存されているフォルダに
次のようなブックが保存されていることを確認してください。
ファイル名(一例):アクティブブック名_20200327_2142.xlsx
| 固定リンク
この記事へのコメントは終了しました。


コメント