色彩を教える人になるための講座「色彩講師養成講座」の魅力とは>>

エクセルのマクロのついての質問です

よろしくお願いします

現在、下記のようなコードでマクロを実行するとパスワードをつけて上書き保存したような結果になっています(元のファイル名も○○.xlsで、指定したものと同一です)

Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="○○.xls", FileFormat:=xlNormal, Password:="1111", WriteResPassword:="2222", ReadOnlyRecommended _
:=False, CreateBackup:=False
Application.DisplayAlerts = True

私の目的としてはそれでよいのですが、このように格納先を指定しなかった場合は

必ず元のファイルと同一のフォルダになるってくれるものなのでしょうか?

それとも状況によって別なところに名前をつけて保存されてしまったりすることがありますか?

gooドクター

A 回答 (1件)

> 私の目的としてはそれでよいのですが、このように格納先を指定しなかった場合は


> 必ず元のファイルと同一のフォルダになるってくれるものなのでしょうか?

通常は、格納先パスを指定しなかった場合は、Excelのオプションで指定したカレントフォルダが
保存先になります。
ですが、Excelを開いてからSaveAsを行ったり、「名前をつけて保存」を
実行したりすると、そのときのパスが入るようです。

確実に同じフォルダに保存したい場合は、パスを指定した方が良いでしょうね。

例えば、上の例の場合は"○○.xls"を開いてそれを修正してまた保存する、
という形なんじゃないかと思いますが、そういう場合は"○○.xls"を
開いた直後に
 pathname = ActiveWorkbook.path
とパスを取得しておいて、SaveAsの中に
 Filename:= pathname & "\○○.xls"
と記述すればよいと思います。

なお、マクロのパスを取得したい場合は、
 pathname = Thisworkbook.path
で、できます。
    • good
    • 3
この回答へのお礼

大変参考になりました

ありがとうございました

お礼日時:2012/06/03 20:54

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング