dポイントプレゼントキャンペーン実施中!

A1の値をファイル名に指定したい為、

ActiveWorkbook.SaveAs fileName:= _
ThisWorkbook.Path & "\01.出力先\01ああああああああ.xlsx" _
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

Application.Dialogs(xlDialogSaveAs).Show Arg1:=Range("A1").Value
を追加して、

ActiveWorkbook.SaveAs fileName:= _
ThisWorkbook.Path & "\01.出力先\Application.Dialogs(xlDialogSaveAs).Show Arg1:=Range("A1").Value.xlsx" _
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
とすると、構文エラーになってしまいます。

どのように組み込めば良いか?教えてください。

A 回答 (1件)

こんにちは



何箇所かの間違えと、勘違いが混在しているようです。

Application.Dialogs(xlDialogSaveAs).ShowメソッドはそのままブックをSaveしますので、戻り値はTrue/Falseです。
構文エラーの直接の原因は、
 ・文字列の連結がおかしい
 ・上記メソッドの引数のスペースが解釈されない
などですが、上記のように、そもそもファイル名を取得するメソッドではないので、処理の意味的にもおかしいです。

一方で、ご質問内容からすると、ユーザにファイル名を選ばせるのではなく、無条件にA1の値としてSaveするように読み取れますので、引数を
fileName:= ThisWorkbook.Path & "\01.出力先\" & Range("A1").Value & ".xlsx"
のようにすることで済むのではないのでしょうか?
    • good
    • 1
この回答へのお礼

やってみます

こんばんは。早々の明確なご回答ありがとうございます。

お礼日時:2020/12/25 22:44

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