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

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メモリ上に上書き保存するマクロの書き方はないでしょうか?

A 回答 (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

こんな所かな、自信は無いけど
    • good
    • 0
この回答へのお礼

ありがとうございます。
A1.特に変化はありませんでした。アクティブになっているということでしょうか。
A2.
'ActiveWorkbook.Save 'これだとやはりhtml保存になりました。
'Workbooks(b).Save  'これでOKでした。

htmlファイル保存されるわけがよくわかりません。
別の箇所のそのような指定をしているのでしょうか???

何はともあれありがとうございました。

お礼日時:2008/12/17 03:09

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