アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております

Bというブックを開いて
標準モジュールで下記のコードを実行すると
今、開いているBのワークブックが
Aというファイルに変更になってしまいます。

Bのワークブックの名前のままで
おわることはできないのでしょうか

str = "C:\test\A"
ActiveWorkbook.SaveAs Filename:=str, FileFormat:=xlCSV

A 回答 (4件)

こんばんは



SaveCopyAs メソッドを利用すると幸せになれると思います。
https://learn.microsoft.com/ja-jp/office/vba/api …
    • good
    • 0
この回答へのお礼

ありがとうございました。
うまくいきました。

お礼日時:2023/02/25 21:19

Dim str As String


str = "C:\test" & ActiveWorkbook.Name
ActiveWorkbook.SaveAs Filename:=str, FileFormat:=xlCSV

上記のコードを実行すると、BのワークブックをBのまま保存しつつ、指定したパスにCSVファイルとして保存することができます。

また、別名で保存するためのオプションとして、Excel VBAには"SaveCopyAs"メソッドもあります。このメソッドを使用すると、現在開いているワークブックを別名で保存することができます。


ActiveWorkbook.SaveCopyAs "C:\test\B_copy.xlsx"

上記のコードを実行すると、Bのワークブックのコピーが、指定したパスに "B_copy.xlsx" というファイル名で保存されます。
    • good
    • 0

何がしたいかよく分かりません。


まず目的の操作をマクロ記録してみてください。
コード書くのはそれから

SaveCopyAs?
    • good
    • 0

str = "C:\test\B"


でよろしいのでは
    • good
    • 0
この回答へのお礼

今、開いているブックがBで
Aという名前をつけて指定したフォルダの
中にいれます。
もしstr = "C:\test\B"だとすると
Bという名前で保存されてしまいます。

お礼日時:2023/02/25 20:26

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