いつもお世話になります
今、マクロの無いbook.xlsxにマクロコピーして実行させていますが
保存時にはマクロ無しのbook.xlsxとして保存したいのですが
マクロでSave、またはSaveAsでコントロールするには
Application.DisplayAlerts = False でエラー非表示にして問題ないのですが
Excelボタンを押した場合にThisWorkbookに
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.DisplayAlerts = False
End Sub
としましたが、BeforeSaveの前に
・次の機能はマクロなしのブックにに保存できません
・
・
と出てしまいます
このエラーを消す方法は有るのでしょう?
以上、よろしくお願い申し上げます
No.1ベストアンサー
- 回答日時:
DisplayAlerts プロパティは、それが書かれているマクロが終了した時点で、Trueに戻ってしまいます。
よって、実際に保存する時点ではTrueなのでコーションが表示されてしまいます。コーションが表示されないようにするには、マクロの中で保存までの処理を完結させる必要があります。
具体的には、こんな感じです。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.EnableEvents = False
Application.DisplayAlerts = False
Me.Save
Application.EnableEvents = True
Cancel = True
End Sub
No.2
- 回答日時:
大変失礼しました。
確かにこの警告はBeforeSaveイベント発生前に表示されてしまうようですね。ということは、残念ながら、これをマクロで制御することはできないことになります。
ちなみに、何故マクロの無いxlsxにマクロコードをコピーして実行しなければならないのでしょうか。
マクロが書かれているxlsmブックとデータが入っているxlsxブックの2つを開いて、xlsmブックのマクロからxlsxブックを操作することも可能ですよ。
そうすれば、わざわざマクロコードをコピーする必要もないように思うのですが、そうできない事情があるのでしょうか?
ご返事ありがとうございます
マクロでは無理ということであきらめました
ところで疑問の件、多分質問されるだろうなっと思いました
まだ正確に時間を測っていないのでわかないのですが、開発当初にそのように作ったのですが時間がかかるので、コピーして実行させてみたところ意外とスムーズだったので今はこうしています
複雑なプログラムですので、使う人がフラストレーションを起こさないようにと試行錯誤を繰り返している最中です
作業途中で保存キーを押しても、自然な形で.Xlsxができるように考え質問させていただきました
本当にありがとうございました
また、よろしくお願い申し上げます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
EXCELのVBAでRange("A1:C4")を...
-
一つのTeratermのマクロで複数...
-
Excel VBAからAccessマクロを実...
-
メッセージボックスのOKボタ...
-
非表示の列をすべて削除するマクロ
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
ExcelのVBA。public変数の値が...
-
ExcelVBAでPDFを閉じるソース
-
VBA アドインについて お詳しい...
-
TERA TERMを隠す方法
-
マクロで空白セルを詰めて別シ...
-
EXCELマクロでのThisisWor...
-
サクラエディタ・マクロ → VSCo...
-
エクセルマクロ自動更新
-
[初心者です]VBAで指定列か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
エクセルで別のセルにあるふり...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
ExcelVBAでPDFを閉じるソース
-
EXCELのVBAでRange("A1:C4")を...
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
マクロ実行時、ユーザーフォー...
-
Excelのマクロについて教えてく...
-
ソース内の行末に\\
おすすめ情報
お答えありがとうございます
さっそく試してみましたが
.Xlsxのファイルにマクロコピーして実行後、Excelの上書きボタンを押すと
BeforeSave前に必ず忠告が出るようです
何とかこの忠告なしで元の.Xlsxにマクロ無しのファイルで保存したいのですが
名前を付けて保存はうまく行きました
以上、よろしくお願いいたします