プロが教える店舗&オフィスのセキュリティ対策術

マクロを実行したの保存先フォルダを変更する方法を教えてください。
マクロがあるファイルを作業後下記のマクロを実行すると
Sub マクロ保存()
Const fol As String = "\\nas-sp01\share\確認部\■意匠\戸建\戸建て電子申請関連\ひな形\"
Dim fname As String, fPath As String
Dim exte As String
fname = Worksheets("休日").Range("R2").Text
exte = ".xltm"
fPath = fol & fname & exte
ThisWorkbook.SaveAs Filename:=fPath, FileFormat:=xlOpenXMLTemplateMacroEnabled
If Workbooks.Count > 1 Then
ThisWorkbook.Close SaveChanges:=False
Else
Application.Quit
ThisWorkbook.Close SaveChanges:=False
End If

End Sub
指定フォルダ「"\\nas-sp01\share\確認部\■意匠\戸建\戸建て電子申請関連\ひな形\"」に指定セル値名でマクロ有効テンプレート形式で保存されます。
このマクロを、指定フォルダ「"\\nas-sp01\share\確認部\■意匠\戸建\戸建て電子申請関連\ひな形\"」ではなく
マクロがある同じフォルダ内に保存する方法を教えてください。
よろしくお願いいたします。

質問者からの補足コメント

  • うーん・・・

    回答ありがとうございます。
    下記の設定を行いましたが
    Sub マクロ保存()
    Dim fname As String, fPath As String
    Dim exte As String
    fname = Worksheets("休日").Range("R2").Text
    exte = ".xltm"
    fol = ActiveWorkbook.Path

    No.1の回答に寄せられた補足コメントです。 補足日時:2023/02/03 16:45
  • うーん・・・

    fPath = fol & fname & exte
    ThisWorkbook.SaveAs Filename:=fPath, FileFormat:=xlOpenXMLTemplateMacroEnabled
    If Workbooks.Count > 1 Then
    ThisWorkbook.Close SaveChanges:=False
    Else
    Application.Quit
    ThisWorkbook.Close SaveChanges:=False
    End If
    End Sub
    作業ブックと同じフォルダ内では無く
    ディスクトップ上に保存されてしまします。
    申し訳ありません、解決方法を教えてください。

      補足日時:2023/02/03 16:46

A 回答 (2件)

1個ミスがありました。

これは原因では有りません。
folの後ろに¥を付けて下さい。
fPath = fol & "\" & fname & exte です。

原因はエクセルブックの開き方です。
フォルダから直に開くのでは無く、一度エクセルを開いてファイル(F)の「開く」から目的のブックを開きます。

直接にブックを開いて作業するのであれば
folをフルパスで自分で、マクロがあるフォルダを指定するしか有りません。
fol="C:\Users\user\Documents\○○○○\△△△\
の様に、です。
    • good
    • 0
この回答へのお礼

親切にありがとうございました。
詳しい説明を感謝いたします。
上手くできました。

お礼日時:2023/02/03 17:21

Const fol As Stringで初期値をいれないで


Const fol As Stringのみとして

fPath = fol & fname & exteの1行上に、

fol = ActiveWorkbook.Path
を入れれば良いのでは?

Const fol As Stringをそのままにして置いても、上書きされるので、そこはそのままでも良いです。
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!