| 
    
     |  | おはようございます。 
 
 >書式3
 >Dim BlnRtn As Variant
 >BlnRtn= IIf(Application.Dialogs(xlDialogSaveAs).Show(ARG1:=Target), "保存", "キャンセル")
 >
 >と、true/falseを見させようとすると、今度は、戻り値として、
 >保存したファイル名を受け取ることが出来ません
 >このため、ファイル名を初期値から変更したときに、その名前を得ることができません。
 
 Application.Dialogs(xlDialogSaveAs).Showによって、保存されるブックは、
 ActiveWorkBookですよね!!
 
 でしたら、ActiveWorkBookを調べれば、保存ファイル名は、取得できます。
 
 
 Sub svsample()
 Dim ans As Variant
 Dim bknm As String
 bknm = "sample"
 Application.EnableEvents = False
 ans = Application.Dialogs(xlDialogSaveWorkbook).Show(bknm)
 Application.EnableEvents = True
 If ans Then
 MsgBox ActiveWorkbook.FullName & " 保存しました"
 End If
 End Sub
 
 
 他にも
 Application.GetSaveAsFilenameメソッドを使って、保存ファイルパスだけを
 取得して、プログラムで保存するという方法もありますね!!
 Sub svsample2()
 Dim ans As Variant
 Dim bknm As String
 bknm = "sample"
 ans = Application.GetSaveAsFilename(bknm, "Excelブック (*.xlsx),*.xlsx,Excelマクロ有効ブック(*.xlsm),*.xlsm")
 If TypeName(ans) <> "Boolean" Then
 MsgBox ans & " 保存する名前です"
 ActiveWorkbook.SaveAs ans
 End If
 End Sub
 (2007以上の場合)
 
 |  |