ワークブックをディスクに保存せずにカスタム名で作成することはできますか?私はデフォルトの "ブックx"の名前を避けたいが、私はユーザーにブックを保存する必要はありません。一時的に自動的に保存すると、「保存」をクリックすると「別名で保存...」ダイアログが表示されず、混乱する可能性があります。カスタム名を含むワークブックをディスクに保存せずに作成する
答えて
ブックを作成して保存しないでください。ユーザーが保存しようとすると、「名前を付けて保存」プロンプトが表示されます。そして、ユーザがそれを閉じようとすると、ユーザは、閉じる前にファイルを保存するか(もう一度名前を付けて保存ダイアログ)保存するかどうかを尋ねるメッセージが表示されます。今すぐこのプロンプトの外観は、新しく作成したブックにいくつか変更を加えたという事実に依存します。デフォルトでは
例えばSub Sample()
Dim wb As Workbook
Set wb = Workbooks.Add
End Sub
ブックには、「ブック*」と命名されますが、ユーザーが
「別名で保存」を行う行う機会を得るでしょうとして、それは本当に問題ではないはずですCtrlキー+ Sを押すとフォロー
それはshになり[名前を付けて保存]ダイアログは、ブックが保存されていないかのように表示されます。
私は、私は考えることができる唯一の方法があることを述べたが、コードに取り組んでいる間、私は2つのオプション:)
WAY 1
を思い付いたもののa)新しいワークブックを作成する
b)JAN 2012.XLSMのように、ユーザーのTempディレクトリに保存
C)ユーザーがCTRL + Sを押したときに今、Excelが
Option Explicit
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" _
(ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Private Const MAX_PATH As Long = 260
Sub Sample()
Dim wb As Workbook
Set wb = Workbooks.Add
With wb
.SaveAs Filename:=TempPath & "JAN 2012.xlsm" _
, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
'.SaveAs Filename:=TempPath & "JAN 2012.xlsx" _
, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
.ChangeFileAccess Mode:=xlReadOnly, WritePassword:="admin"
End With
End Sub
Function TempPath() As String
TempPath = String$(MAX_PATH, Chr$(0))
GetTempPath MAX_PATH, TempPath
TempPath = Replace(TempPath, Chr$(0), "")
End Function
WAY 2(それを行うための複雑な方法)として保存を促すメッセージが表示されます)
DをREADONLYするために、ファイルのプロパティを変更
a)の新規ブック
b)の言うように、ユーザーのTempディレクトリ
0123に、JAN 2012.XLSMを、それを保存を作成します。c)は、Ctrlキー+ Sを無効にするためのコードを挿入し、唯一のあなたが作成し、ワークブックを保存管理するためにアプリケーションイベントを使用することができます
として保存を可能にします。
詳細については、CPearsonのサイトのApplication Eventsを参照してください。
私の提案:新しいワークブックを管理するためのアプリケーションイベントハンドラでアドインを作成します。アドインThisWorkbook
モジュールで
(またはピアソンによって記載されているように、クラスモジュールを使用)、このコード
Option Explicit
' Establish object to handle events
Public WithEvents App As Application
Private Sub Workbook_Open()
Set App = Application
End Sub
' Handle new workbook
Private Sub App_NewWorkbook(ByVal Wb As Workbook)
MsgBox "New Book..."
Wb.SaveAs "Your Path and File Name Here"
End Sub
' Intercept save event
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean)
MsgBox "Saving " & Wb.Name
End Sub
- 1. ディスクに保存せずにMS Officeドキュメントを含むNSDataオブジェクトを表示する方法は?
- 2. サムネイルを保存せずに作成
- 3. ディスクに保存せずにファイルのmd5を取得する
- 4. ディスクにファイルを保存せずにウェブサイトの最終行を読む
- 5. ファイルシステムに保存せずにCSVファイルを作成する
- 6. ファイルをディスクに保存せずにBufferedImageをMultiPartファイルに変換するには?
- 7. Cakephp - データを作成せずにレコードを作成するメソッドを保存する
- 8. ファイルを保存せずにファイルを作成してアップロードする
- 9. Django RESTシリアライザ:保存せずにオブジェクトを作成する
- 10. RMagick - ディスクに保存せずにファイルを別のフォーマットに変換する
- 11. blobをディスクにディスクに保存
- 12. バックエンドにデータを保存せずに管理アカウントを作成
- 13. Excelワークブックを別のワークブックに自動的に保存する
- 14. ディレクトリ名にスラッシュを含むディレクトリを作成できません
- 15. 異なる名前で保存せずにワークブックを編集/書き込みする
- 16. ディスクに保存せずにRubyで電子メールでグラフを送る方法は?
- 17. ワークブックを新しいワークブックにコピーし、ワークシートの名前を作成名に変更
- 18. ディスク上にプロジェクトディレクトリを作成せずにビジュアルスタジオで新規プロジェクトを作成
- 19. ファイルシステムを破損させずにディスクにrawデータ "署名"を書き込む
- 20. ディスクに保存せずに写真を撮ってバイトを取得
- 21. バックエンドでのカスタム認証 - 保存せずに実行時にユーザを作成する
- 22. Googleクラウド:空のディスクを含むインスタンステンプレートを作成
- 23. Android - ファイルをダウンロードしてからディスクに保存せずに開く方法
- 24. iisセッションデータをディスクに保存する
- 25. イメージをディスクに保存する
- 26. ディスクにXMLファイルを保存する
- 27. 可変データをディスクに保存する
- 28. WAVファイルをディスクに保存する
- 29. 関数の名前を含むリストを作成するには?
- 30. yii phpのフォルダに保存せずにファイルを保存する
incluse Siddarth、 "Book x"とは別にWorkbookの名前を付けたい。私のマクロはいくつかのワークブックを作成し、それらに "ワークブック1"、 "ワークブック2"という名前を付けるのは混乱します。ワークブックの名前を「JAN 2012」、「FEB 2012」などにして、保存するかどうか、どこで保存するかをユーザーに決定させてください。 – Cutter
そして、ユーザーはブックをどのように保存しますか? Ctrl + S/Excelメニューを押すか、コードを介して? –
Ctrl + Sを押すと、ブックが保存されていないかのように[名前を付けて保存...]ダイアログが表示されます。 – Cutter