|
テーブルさん、こんにちは
りんさんがまだご覧になっていないようなので・・
>下記のエラー処理をしたのですが、「キャンセル」後の「F」と言うファイルが作成されるのは、変わらなかったです。何か間違いがありますかね・・・・
>
>rFile = Application.GetOpenFilename
>'同じ名前で拡張子を変更
>sFile = Left(rFile, Len(rFile) - 4) & ".xls"
> On Error Resume Next 'エラーが発生しても処理を続行する
> ActiveWorkbook.SaveAs Filename:=sFile, FileFormat:=xlNormal, CreateBackup:=False
> On Error GoTo 0 'エラー処理ルーチンを無効にする
この場合エラーは発生していませんので、上記は無効です。
またもしエラーの場合でもエラーを無視してActiveWorkbook.SaveAs を実行しますから結果はおなじことになります。
りんさんが例示したURLでは GetOpenFilename がキャンセルされた場合にFalseがもどるので、それを使用して分岐する例です。
テーブルさんの最初のコードでいえば・・
>rFile = Application.GetOpenFilename
If Not rFile Then
Exit Sub
End If
>sFile = Left(rFile, Len(rFile) - 4) & ".xls"
>ActiveWorkbook.SaveAs Filename:=sFile, _
こんな感じでrFileを判定します。
(rFile = False の方がわかりやすいかな)
りんさん、横レスごめんなさい。
|
|