初めて自分の家と他人の家が違う、と意識した時

EXCELで以下のように記述したところ、

「ファイルを置き換えますか」のメッセージの後に
「いいえ」か「キャンセル」を選択すると
「400」というエラーメッセージが表示されます。

「いいえ」か「キャンセル」を選択した場合は、
エラーメッセージを表示させずに、
特定のシートのセルA1にカーソルを移動させたいのですが、可能でしょうか?

ご指導よろしくお願いします。

________________________
FileA = Application.GetSaveAsFilename( _
InitialFilename:="C:\test.xls", _
fileFilter:="XLSファイル (*.xls), *.xls")
ActiveWorkbook.SaveAs Filename:=FileA
________________________

A 回答 (4件)

こんにちは。



#1さん、#2さんを合せてエラー分岐させれば良いと思います。

Sub aa()
fileA = Application.GetSaveAsFilename( _
InitialFileName:="C:\test.xls", _
fileFilter:="XLSファイル (*.xls), *.xls")
On Error GoTo ERR:
If fileA <> False Then ActiveWorkbook.SaveAs FileName:=fileA
Exit Sub
ERR:
 Worksheets(1).Range("B5").Select
End Sub

強引なやり方で、有無を言わせず上書きさせるのもありなら、、、

Application.DisplayAlerts = False
If fileA <> False Then ActiveWorkbook.SaveAs FileName:=fileA
Application.DisplayAlerts = True
    • good
    • 0
この回答へのお礼

ありがとうございました。
エラーも表示されず、希望どおりのものが
できました★

お礼日時:2003/05/24 01:57

失礼しました、



>「ファイルを置き換えますか」のメッセージの後に

でしたね。ご質問をよく読んでいませんでした、すみません。

ちなみに、エラー番号は1004でした。
    • good
    • 0

GetSaveAsFilenameは、入力が取り消されるとFalseが返されます。

(ヘルプに書いてあります)

ので、こんな感じでどうでしょうか。

fileA = Application.GetSaveAsFilename( _
InitialFileName:="C:\test.xls", _
fileFilter:="XLSファイル (*.xls), *.xls")
If fileA <> False Then
 ActiveWorkbook.SaveAs Filename:=fileA
Else
 '特定のシートのセルA1にカーソルを移動
End If

この回答への補足

ご回答ありがとうございました。

試してみましたところ、
「いいえ」と「キャンセル」を選択すると
「400」のエラーが表示されました。
 やはり無理でしょうか?

補足日時:2003/05/23 14:43
    • good
    • 0

こちらでテストしてみましたが 400 ではなく 1004 なら出ました。


まぁ、エラーメッセージの種類はいいとして。

ちょっと現象が違うらしいので、よくわかりませんが
On Error を入れて、エラーが出たときの対処をしてみたらどうでしょう?
    • good
    • 0

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

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


おすすめ情報