
シートコピーのマクロを実行した後で、コピー先のファイルを削除する方法を教えてください。
マクロ
Sub シートコピー一般()
Dim srcFolderPath As String
Dim srcFileName As String
Dim srcSheetName As String
Dim destWorkbook As Workbook
Dim destSheet As Worksheet
Dim srcWorkbook As Workbook
Dim srcSheet As Worksheet
' コピー元のフォルダパスとファイル名を指定
srcFolderPath = "\\nas-sp01\share\確認部\■意匠\戸建\戸建て電子申請関連\ひな形\フラット関係\他の帳票(設計検査調書)\"
srcFileName = "*.xlsx"
' コピー先の作業ブックとシートを指定
Set destWorkbook = ThisWorkbook
Set destSheet = destWorkbook.Sheets("マクロシート")
' コピー元のファイルを検索
srcFileName = Dir(srcFolderPath & srcFileName)
' コピー元のブックを開く
Set srcWorkbook = Workbooks.Open(srcFolderPath & srcFileName)
' コピー元のシートを取得(一番左のシート)
Set srcSheet = srcWorkbook.Sheets(1)
' コピー元のシート名を取得
srcSheetName = srcSheet.Name
' コピー元のシートをコピー先にコピー
srcSheet.Copy After:=destSheet
' コピー元のブックを閉じる
srcWorkbook.Close SaveChanges:=False
End Sub
このマクロを実行すると指定フォルダ内の指定ファイル「 "*.xlsx"」のシートが作業ブックのシートにコピーされます。
このマクロに追加して
作業ブックにシートがコピーされた後に、
指定フォルダ内の指定ファイル 「"*.xlsx"」を削除する方法を教えてください。
指定フォルダ内には最新のファイルのみを保存して、作業をしている為、
作業ブックにシートがコピーされれば、コピー先のファイルは不要となりますので、
詳しい方、よろしくお願いします。
No.4ベストアンサー
- 回答日時:
あれ?同じような質問を見たけれど・・・
srcSheet.Copy After:=destSheet
' コピー元のブックを閉じる
With srcWorkbook
.Save
.ChangeFileAccess Mode:=xlReadOnly
Kill .FullName
.Close (False)
End With
End Sub
回答ありがとうございました。
いつも助けて頂きましてありがとうございます。
全て上手く行きました。
感謝いたします。
中々解決できなかったので
質問を変更して質問したのですが
解決しましたので他の質問を削除させていただきます。
No.3
- 回答日時:
エラーメッセージも出ないのですね。
私では難しそうなので、他の識者の方に回答いただけるといいのですが。
(この質問は閉めて新たに質問した方がいいかもしれません。)
No.2
- 回答日時:
エラーメッセージも出ないのでしょうか?
テスト用ファイルを作って
Kill ”ファイル名(フルパス)”
だけでテストしてみてはいかがでしょう。
削除権限がないってことはないですよね。
No.1
- 回答日時:
コピー先じゃなくてコピー元ですよね。
Kill srcFolderPath & srcFileName
で削除されますが、ゴミ箱にも入らず綺麗に消えますのご注意下さいね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ブックをダイアログボックス...
-
エクセルマクロで、他ブックか...
-
VBA シートをコピーする際に Co...
-
現在開いているbook全てを対象...
-
VBA シート名が一致した場合の...
-
Excelマクロ 該当する値の行番...
-
【ExcelVBA】インデックスが有...
-
フォルダ内の全てのファイルに...
-
Excel にて、 リストボックスの...
-
【マクロ】実行時エラー '424':...
-
Excel UserForm の表示位置
-
ロックされていないセル内をクリア
-
あああ..ああい..ああう とい...
-
特定の文字がある行以外を削除...
-
結合されたセルをプルダウンの...
-
マクロの「SaveAs」でエラーが...
-
VBAで、特定の文字より後を削除...
-
エクセルでセルをクリックする...
-
Excelの行数、列数を増やしたい...
-
【VBA】【ユーザーフォーム_Lis...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のエクセルファイルとシー...
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】zip圧縮されたCSV...
-
【Excel VBA】書き込み先ブック...
-
2つ目のコンボボックスが動作...
-
[Excel]ADODBでNull変換されて...
-
Excelマクロ 該当する値の行番...
-
VBA 実行時エラー 2147024893
-
Excelのマクロコードについて教...
-
Excel にて、 リストボックスの...
-
【ExcelVBA】インデックスが有...
-
VBA アプリケーション定義また...
-
【Excel VBA】表の列の値毎に分...
おすすめ情報
回答ありがとうございました。
大変失礼いたしました。
コピー元です。
ご指示の通りに
' コピー元のブックを閉じる
srcWorkbook.Close SaveChanges:=False
' コピー元のブックを削除
Kill srcFolderPath & srcFileName
End Sub
を設定しましたが
コピー元のフォルダ内のファイル「 "*.xlsx"」
が削除されておりません。
解決方法をお願いいたします。
よろしくお願いします。
質問のマクロに追加が難しい場合は
指定フォルダ内「"\\nas-sp01\share\確認部\■意匠\戸建\戸建て電子申請関連\ひな形\フラット関係\他の帳票(設計検査調書)\"」
の「 "*.xlsx"」を削除できる新しいマクロでも構いません。
仮にマクロ名は
「ファイル削除」としてください。
よろしくお願いします。
何度も申し訳ありません。
はい、エラーメッセージも出ませんでした。
新しいマクロ
Sub Macro1()
Kill "*.xlsx"
End Sub
を作成して実行しましたが、ファイル削除は出来ませんでした。
尚、ファイルを右クリックで削除は出来ます。
解決方法をよろしくお願いします。