• 締切済み

Excel マクロのsaveasでファイル保存の方法で教えて下さい

Excel2003で、USBメモリ上の2つのファイル(マクロを保存したmacro.xls及び作業を行うsagyo.xls)を開き、マクロをかけて、最後にxlsファイル形式で上書き保存したいのですが、 (1)ActiveWorkbook.Save で、上書き保存を行うと、なぜかUSBメモリ上にhtmlファイル保存されてしまいます。このため、xlsファイル形式保存をあえて明示し、saveasの既定値であるxlWorkbookNormalを指定し、 (2)ActiveWorkbook.SaveAs , FileFormat:=xlWorkbookNormal とすると、(カレントフォルダである)マイドキュメントに保存されてしまいます。 Q1.(1)のようになる原因は何でしょうか? Q2.USBメモリは、他のPC環境でも使うので、「saveas "F:\sagyo.xls"」などとドライブ指定せずに使いたいのですが、USBメモリ上に上書き保存するマクロの書き方はないでしょうか?

みんなの回答

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

A1.保存したいファイルがアクティブになっているのかな? 試しにActiveWorkbook.Saveの前の行に Workbooks("保存したいファイル名").Activateを入れてみて A2. Sub test() Dim a, b a = ActiveWorkbook.Path & "\" b = ActiveWorkbook.Name ActiveWorkbook.SaveAs (a & b) 'これが問2の回答 'ActiveWorkbook.Save 'こっちより 'Workbooks(b).Save  'こっちの方が良いかも End Sub こんな所かな、自信は無いけど

asuka_shin
質問者

お礼

ありがとうございます。 A1.特に変化はありませんでした。アクティブになっているということでしょうか。 A2. 'ActiveWorkbook.Save 'これだとやはりhtml保存になりました。 'Workbooks(b).Save  'これでOKでした。 htmlファイル保存されるわけがよくわかりません。 別の箇所のそのような指定をしているのでしょうか??? 何はともあれありがとうございました。

関連するQ&A