[[20200410094418]] 『保存時のメッセージ』(みず) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『保存時のメッセージ』(みず)

お世話になります。

保存時のメッセージで
マクロなしのブックは保存できませんと出た時、
マクロなしを選択した場合
同名のファイルが存在した場合
上書き確認のメッセージが出ます。

Application.DisplayAlerts = False
On Error Resume Next
ActiveWorkbook.SaveAs "C:\Users\Documents\" & Target2 & ".xlsx"
If Err.Number > 0 Then MsgBox "保存されませんでした"
Application.DisplayAlerts = True

このように書くとすべてのメッセージ出なくなり
上書きされてしまいます。

上書き確認のみメッセージを表示したいのですが
どうすれば良いのでしょうか?

どなたかご教授願えませんか?

< 使用 Excel:Office365、使用 OS:Windows10 >


 SaveAsメソッドが、上書き確認とフォーマットに関するメッセージを出しますが、
 メソッドの実行途中で割り込むのはできないので、
 上書き確認のメッセージは自前で出すしかなんじゃないでしょうか。
  
   savePath = "C:\Users\Documents\" & target2 = "test" 
   If Dir(savePath & "\" & target2 & ".xlsx", vbNormal) <> "" Then
      ret = MsgBox("この場所に '" & savePath & "'というファイルが既にあります。置き換えますか", vbInformation + vbYesNoCancel)
      If ret <> vbYes Then Exit Sub
   End If

 みたいな

 あと、
 SaveAsメソッドで、FileFormatオプションを指定しないとエラーになりませんか?
 On Error Resume Next はいらないと思います。
(´・ω・`) 2020/04/10(金) 10:31

(´・ω・`) 様
お世話になります。

>SaveAsメソッドで、FileFormatオプションを指定しないとエラーになりませんか?
特にエラーは無かったです。

>savePath = "C:\Users\Documents\" & target2 = "test" 
の解釈が出来なかったので
コードを再掲します。(一部しか掲載していなかったので)

Private Sub 別名保存複数()
Dim i As Long
Dim Target As String, Target2 As String
Dim sMonth

sMonth = Format(Date, "mm" & "dd") '//日付

Sheets(1).Select '//シート選択

    For i = 1 To Sheets.Count
        Sheets(i).Select False
    Next i
Target = Worksheets(1).Name         '//シート名取得
Target2 = "材料手配書 " & Target & " " & sMonth & "作成"     '//ファイル名設定

ActiveWindow.SelectedSheets.Copy '//新規ブック作成

'//不要シート削除
Application.DisplayAlerts = False
Sheets(Worksheets.Count).Delete
Application.DisplayAlerts = True

'//コマンドbtn削除()

 ActiveSheet.OLEObjects.Delete

'//設定したファイル名で保存
Application.DisplayAlerts = False
On Error Resume Next

    ActiveWorkbook.SaveAs "C:\Users\Documents\" & Target2 & ".xlsx"
If Err.Number > 0 Then MsgBox "保存されませんでした"
Application.DisplayAlerts = True

End Sub

>savePath = "C:\Users\Documents\" & target2 = "test" 
最後の"test" をどう扱えばいいのかが理解できていないです。

ご教授願えますでしょうか?

(みず) 2020/04/10(金) 16:51


 ごめんなさい
 
 >>savePath = "C:\Users\Documents\" & target2 = "test" 
 >最後の"test" をどう扱えばいいのかが理解できていないです。

 編集中のミスです。
 
 savePath = "C:\Users\Documents\" & target2

 です。

 混乱させてしまい、申し訳ありません
(´・ω・`) 2020/04/13(月) 10:00

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.