
マクロ有効形式で保存している作業ブックがあります、そのブックに設定しているマクロを実行し、マクロが完了した時にマクロを設定している作業ブックを削除する方法を教えてください。
先日より同じような質問をしておりますが、解決出来ておりません。困っておりますので、親切に教えて抱ける方、よろしくお願いいたします。
マクロ
Sub 電子提出()
Application.DisplayAlerts = False
On Error Resume Next
Worksheets(Array("記載方法")).Delete
Worksheets(Array("提出図書(参考)")).Delete
Worksheets(Array("Web申請手順(参考)")).Delete
Worksheets(Array("申請種別")).Delete
Worksheets("提出シート").Activate
Dim rng As Range
Set rng = Selection.Cells
Range("B1", "H47").Select
mybook = ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:=mybook & "\" & Range("P1").Value & "(提出用).xlsx", FileFormat:=xlOpenXMLWorkbook
rng.Select
Sheets("提出シート").Range("D3,D4,D5,D7").ClearContents
Range("D7").Select
Sheets("提出シート").Shapes("担当者").Visible = False '
ActiveWorkbook.SaveAs Filename:=mybook & "\" & Range("P1").Value, FileFormat:=xlOpenXMLWorkbookMacroEnabled
Application.Quit
With ThisWorkbook
.Saved = True
Application.DisplayAlerts = True
.Close False
End With
Sheets("提出シート").Shapes("新築FD").Visible = False '
Sheets("提出シート").Shapes("計変FD").Visible = False '
Sheets("提出シート").Shapes("増築FD").Visible = False '
Sheets("提出シート").Shapes("担当者").Visible = False '
Range("D7").Select
End Sub
があります、このマクロを実行すると
○○ 様邸【○○】(提出用).xlsx
○○ 様邸【○○】.xlsm
以上の2つのファイルが作業フォルダ内に保存されます。
この2つのファイルが保存されれば、マクロを設定している作業ブックは不要となります。
マクロを実行後に作業ブックを削除出来る方法を教えてください。
以前、同じような質問をした時に
作業ブックを「参照」で開くことで出来ると教えて頂きました。
今回も同じように出来るでしょうか。
よろしくお願いいたします。
No.5ベストアンサー
- 回答日時:
>Excelファイルではない「○○ 様邸【○○】」と保存されてしまいます。
名前を付けて保存する際に拡張子が抜けているからじゃないかな?
Sub 電子提出_2()
Dim myFull As String
myFull = ThisWorkbook.FullName
Application.DisplayAlerts = False
On Error Resume Next
Worksheets(Array("記載方法")).Delete
Worksheets(Array("提出図書(参考)")).Delete
Worksheets(Array("Web申請手順(参考)")).Delete
Worksheets(Array("申請種別")).Delete
Worksheets("提出シート").Activate
Dim rng As Range
Set rng = Selection.Cells
Range("B1", "H47").Select
mybook = ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:=mybook & "\" & Range("P1").Value & "(提出用).xlsx", FileFormat:=xlOpenXMLWorkbook
rng.Select
Sheets("提出シート").Range("D3,D4,D5,D7").ClearContents
Range("D7").Select
Sheets("提出シート").Shapes("担当者").Visible = False '
ActiveWorkbook.SaveAs Filename:=mybook & "\" & Range("P1").Value & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
Application.Quit
'---------ここから下は必要なの?-------------'
Sheets("提出シート").Shapes("新築FD").Visible = False '
Sheets("提出シート").Shapes("計変FD").Visible = False '
Sheets("提出シート").Shapes("増築FD").Visible = False '
Sheets("提出シート").Shapes("担当者").Visible = False '
Range("D7").Select
'----------------------------------------------'
Kill myFull
End Sub
未検証でごめんなさい。
おはよう御座います。
ご丁寧に教えて頂きまして、感謝いたします。
全て上手くできました。
ご連絡が遅くなり申し分け有りませんでした。
No.4
- 回答日時:
次に自身を削除と言う部分を追加した検証用。
Sub try_2()
Dim myFull As String
Dim myPath As String
myFull = ThisWorkbook.FullName
myPath = ThisWorkbook.Path
Application.DisplayAlerts = False
Range("A1").Value = "ABC"
ActiveWorkbook.SaveAs Filename:=myPath & "\データ1.xlsx", FileFormat:=xlOpenXMLWorkbook
Range("A2").Value = "XYZ"
ActiveWorkbook.SaveAs Filename:=myPath & "\データ2.xlsx", FileFormat:=xlOpenXMLWorkbook
'--------------------
Application.Quit
Kill myFull 'なぜか閉じているマクロ実行Bookをフルパスで指定して削除
End Sub
取り敢えず簡易的には 検証用.xlsm Bookの削除には成功してます。
また データ1.xlsx データ2.xlsx の作成は完了してます。
>Excelファイルではないファイルが一つだけ保存されてしまします。
どんなアイコンか不明ですが、隠しファイルを表示してて透明感のあるアイコンだとしたら開いているBookの関連ファイルか、フォルダの場所によってはシステムに関するものなどかもしれません。
非表示に切り替えて消えるなら気になさらなくても・・・
No.3
- 回答日時:
まず問題の切り分けとして簡易なコードで検証しました。
検証用.xlsm:保存先はデスクトップ
Sub try()
Dim myFull As String
Dim myPath As String
myFull = ThisWorkbook.FullName
myPath = ThisWorkbook.Path
Application.DisplayAlerts = False
Range("A1").Value = "ABC"
ActiveWorkbook.SaveAs Filename:=myPath & "\データ1.xlsx", FileFormat:=xlOpenXMLWorkbook
Range("A2").Value = "XYZ"
ActiveWorkbook.SaveAs Filename:=myPath & "\データ2.xlsx", FileFormat:=xlOpenXMLWorkbook
End Sub
マクロの実行結果としてですが、検証用.xlsm と データ1.xlsx の2つは閉じられてます。
ただし データ1.xlsx はセルにデータが書き込まれてます。
しかもVBE画面では データ2.xlsx に標準モジュールが存在しコードがそこに移った状態でこれだけ開いてます。
セル値も追加された状態です。
No.2
- 回答日時:
自身はありませんが(なのでよく質問者に補足途中でよくブロック受けます)。
しかもパソコンの仕様を問うとあり得るので、これって個人情報保護違反行為なのか?と感じてます。
--------------------------
ちょっと検証してみた感じでは。
・マクロを実行する
・最初のSaveAsで名前を変更されたBookがアクティブになり、マクロを実行したBookは閉じられる?
みたいな結果(正しい動きかは自信ない)になりました。
保存先フォルダで最初のBookや変更され保存されたBookなどがどうなっているか、タスクバーのExcelアイコンにカーソルを当ててみるなり隠しファイルを表示させて
https://support.microsoft.com/ja-jp/windows/wind …
みては如何でしょうか?(薄くアイコンが見えるのが現在開いている状態)
SaveAs の1つ目の後ろで Stop を追加してみるとかで確認出来るかも。
.SaveAs ~
Stop
rng.Select
No.1
- 回答日時:
マクロを実行した後に、マクロを設定している作業ブックを削除する方法を説明します。
マクロを設定している作業ブックを削除するためには、VBAコード内で別の方法を使用する必要があります。以下のVBAコードを使用して、マクロが完了した後に作業ブックを削除する方法があります。
```
Sub 電子提出()
' マクロの実行内容
' 作業ブックを削除
Application.DisplayAlerts = False
ThisWorkbook.Saved = True ' 作業ブックを保存済みとしてマーク
Application.DisplayAlerts = True
ThisWorkbook.Close SaveChanges:=False ' 作業ブックを保存せずに閉じる
End Sub
```
このVBAコードをマクロに追加すると、マクロが実行された後に作業ブックが削除されます。`ThisWorkbook.Close SaveChanges:=False`の行が作業ブックを閉じるコードであり、`SaveChanges:=False`は変更を保存せずに閉じることを指定しています。
上記のコードを適切な場所に追加して保存し、マクロを実行してください。マクロの実行が完了した後に、作業ブックが自動的に閉じ、削除されます。
なお、マクロが実行された後に作業ブックを参照で開くことはできません。マクロが終了した時点で作業ブックは閉じられているため、参照することができません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel・Word リサーチ機能を無...
-
Excel マクロでShearePoint先の...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
Excel_マクロ_現在開いているシ...
-
Excel マクロ VBA プロシー...
-
エクセルに張り付けた写真のフ...
-
マクロ実行時、ユーザーフォー...
-
エクセルで縦に並んだデータを...
-
TERA TERMを隠す方法
-
ExcelのVBA。public変数の値が...
-
エクセルVBAでNAVITIMEを使って...
-
エクセルで別のセルにあるふり...
-
VBAにて別ワークブック上の実行...
-
エクセル VBA実行中のApplicati...
-
【Excel】複数のマクロをまとめ...
-
組んだマクロをメールで送る
-
ソース内の行末に\\
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
Excel マクロでShearePoint先の...
-
エクセルに張り付けた写真のフ...
-
Excel_マクロ_現在開いているシ...
-
ExcelのVBA。public変数の値が...
-
TERA TERMを隠す方法
-
マクロ実行時、ユーザーフォー...
-
ExcelVBAでPDFを閉じるソース
-
Excel VBAからAccessマクロを実...
-
特定文字のある行の前に空白行...
-
エクセルで別のセルにあるふり...
-
【EXCEL VBA】オートシェイプを...
-
エクセルで縦に並んだデータを...
-
マクロで空白セルを詰めて別シ...
-
wordを起動した際に特定のペー...
おすすめ情報
回答ありがとうございます。
ご指示のコードを追加いたしましたが上手く行きまっせんでした。
Range("D7").Select
' 作業ブックを削除
Application.DisplayAlerts = False
ThisWorkbook.Saved = True ' 作業ブックを保存済みとしてマーク
Application.DisplayAlerts = True
ThisWorkbook.Close SaveChanges:=False ' 作業ブックを保存せずに閉じる
End Sub
作業ブックは削除されずに、2つのファイルの内「○○ 新築工事【○○】(提出用).xlsxは上手く保存出来ておりますが、「○○ 様邸【○○】.xlsm」がExcelファイルではない「○○ 様邸【○○】」と保存されてしまいます。解決方法を教えてください。よろしくお願いいたします。
回答ありがとうございます。
ご指示通り
1つ目rのコードを
ActiveWorkbook.SaveAsStop Filename:=mybook & "\" & Range("P1").Value & "(提出用).xlsx", FileFormat:=xlOpenXMLWorkbook
rng.Select
と設定しましたが作業ブックは削除されず、又、保存ファイルも
○○ 邸 新築工事【○○】のExcelファイルではないファイルが一つだけ保存されてしまします。
解決方法を教えてください。
よろしくお願いします。
回答ありがとうございます。
試験的に試していただきまして感謝いたします。
私理解力不足で
私のコードを貴社の提案通りに変更する能力がありません。申し訳ありませんが
私のコードを編集していただけますでしょうか。
又、2つのファイルの内1つは○○ 様邸【○○】.xlsmでの保存なのですが
無理でしょうか、何度も申し訳ありません。
解決方法を教えてください。
色々とありがとうございます
申し訳ありません
只今 パソコンから離れてしまいまして
後ほど試めさせて頂きます
よろしくお願いします