|
にゃんぎょ さん、こもれび さん、こんにちは。
>おはようございます。
>レスありがとうございます。
>
>>> Dim path As Variant
>> .
>> .
>> .
>>>で「SaveASメソッドは失敗しました」のエラーがでます。
>>>これは別の方法を考えたほうがよいのでしょうか。
>>
>>「 path 」はシステムの予約語かもしれません。
>>この変数名を別の変数名 例えばSavPathに変えてみてはいかがでしょうか
>>
>> dim SavPath As Variant
>
>
>上記のように直しましたが、やっぱり同じ事象が起こってしまいます・・・
>「同じ名前のファイルが・・・」のダイアログで「いいえ」を選択したら、
>その前のダイアログ(名前をつけて保存)に戻ってほしいのですが・・・
>「いいえ」のイベントって拾えないのでしょうか。
「いいえ」の選択でエラーになるのなら、エラートラップを拾う方法が考えられますよね。
'=================================
Sub test()
Dim path As Variant
Do
path = Application.GetSaveAsFilename( _
InitialFileName:="エクセル.xls", _
FileFilter:="Excelファイル (*.xls), *.xls,すべてのファイル(*.*),*.*")
If path <> False Then
On Error Resume Next
ActiveWorkbook.SaveAs Filename:=path
If Err.Number <> 1004 Then
Exit Do
End If
Else
Exit Do
End If
Loop
End Sub
但し、「いいえ」と「キャンセル」の区別は付かないので、どちらも
保存ダイアログに戻ってしまいますが・・・。
もうひとつは、同じ名前のファイルが存在するか否かをSaveasメソッドに任せないで
コードの中でDIR関数等を使用してチェックし、Msgbox等で確認メッセージを自作する方法ですが・・・。
|
|