
いつもお世話になります
今、マクロの無い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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
ExcelVBAでPDFを閉じるソース
-
wordを起動した際に特定のペー...
-
エクセルに張り付けた写真のフ...
-
TERA TERMを隠す方法
-
エクセルのマクロでワードの任...
-
Excel マクロ VBA プロシー...
-
エクセルで特定の列が0表示の場...
-
ExcelVBAの繰り返し処理でwebク...
-
メッセージボックスのOKボタ...
-
マクロ実行時、ユーザーフォー...
-
特定文字のある行の前に空白行...
-
保存先のパスを変数に格納して...
-
一つのTeratermのマクロで複数...
-
VB初心者です。メールから添付...
-
マクロを使って結合セルに丸を...
-
C#でASPでEXCELをマクロ動かす...
-
VBScript VisioをPDFに変換
-
マクロを組んで作業するのは実...
-
VBAで任意点の等高線を描く、ア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excelのセル値に基づいて図形の...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
Excel_マクロ_現在開いているシ...
-
ExcelVBAでPDFを閉じるソース
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで縦に並んだデータを...
-
TERA TERMを隠す方法
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
UWLSの記録でマクロを作成し使...
-
エクセルで別のセルにあるふり...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
-
wordを起動した際に特定のペー...
おすすめ情報
お答えありがとうございます
さっそく試してみましたが
.Xlsxのファイルにマクロコピーして実行後、Excelの上書きボタンを押すと
BeforeSave前に必ず忠告が出るようです
何とかこの忠告なしで元の.Xlsxにマクロ無しのファイルで保存したいのですが
名前を付けて保存はうまく行きました
以上、よろしくお願いいたします