プロが教える店舗&オフィスのセキュリティ対策術

エクセルで「名前を付けて保存」をする時に自動的に名前を付けて保存が出来るように出来ないでしょうか。

エクセルで見積書を作成後に「名前を付けて保存」→「受注番号入力」をしているので、これを「名前を付けて保存」をクリックした時にファイル名を自動的に受注番号が入れば少しでも時間短縮が出来るかと思い、相談させていただきます。
自分なりに参考書などを読み、下記のようになると思ったのですが、出来ません。

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

If SavaAsUI Then
Application.EnableEvents = False
Application.Dialogs(xlDialogSaveAs).Show _
Arg1:=Me.Path & Application.PathSeparator & Sheet(1).Range("A1").Value
Application.EnableEvents = True
Cancel = True
End If

End Sub

シート1に見積書があり、シート2、シート3はありません。
「A1」のセルに受注番号が入っています。
これのどこがダメなのか教えてもらえませんか。
もし、他に方法があるのであれば教えていただけませんか。

ご無理申します。

A 回答 (3件)

こんにちは。



Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.Dialogs(xlDialogSaveAs).Show _
Arg1:=Me.Path & Application.PathSeparator & Sheets(1).Range("A1").Value
End Sub

上記でどうでしょう

この回答への補足

htmcr さん

すみませんが教えてもらえませんか。
この通りに入力すると、上書き保存の時にも「名前を付けて保存」と出り、名前を付けて保存の時には2回出ます。
対処方法を教えてもらえませんか。
申し訳ありません。

補足日時:2008/03/07 12:38
    • good
    • 12
この回答へのお礼

ありがとうございます。
試したところ、出来ました。
助かりました。

お礼日時:2008/03/07 12:10

既に解決しているかもしれませんがコモンダイアログを出さなくてもよいのではないでしょうか?



Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
 Application.EnableEvents = False
 On Error GoTo end0
 MsgBox "このブックを" & Sheets("Sheet1").Range("A1").Value & ".xlsとして保存します"
 ThisWorkbook.SaveAs Me.Path & Sheets("Sheet1").Range("A1").Value & ".xls"
end0:
 Application.EnableEvents = True
 Cancel = True
End Sub
    • good
    • 0
この回答へのお礼

お返事が遅くなり申し訳ありません。
いろいろな方法を教えていただき、ありがとうございます。

お礼日時:2008/03/15 10:02

たしかにそのままでは不便ですね


では、VBAをユーザー設定ボタンから読み込む方式にしては
いかがでしょう

'ボタンから呼び出すVBA
Public Sub SaveBook()
Application.Dialogs(xlDialogSaveAs).Show _
Arg1:=Me.Path & Application.PathSeparator & Sheets(1).Range("A1").Value
End Sub

これを記述して保存後、下記のサイトを参考にして
このプロシージャを呼び出すボタンを作成してください。

ボタンによるマクロの実行
http://www.officepro.jp/excelmacro/run/index2.html
    • good
    • 0
この回答へのお礼

お返事が遅くなり申し訳ありません。
大変助かりました。
まだまだ知らない事が多く、大変勉強になります。
ありがとうございます。

お礼日時:2008/03/15 09:58

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

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