• ベストアンサー

エクセル ワード 開いた状態から一発で削除できますか?

エクセル2003 ワード2003を使用しています。 表題の通りですが、 エクセルやワードを開いた状態から 一発で削除できますか。 できればショートカットキーで。 よく内容確認して削除するケースあるのですが、 毎回開いて閉じて削除していますが、 ストレスなので開いた状態から削除できたら便利と思うのですが。 どうぞ宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんにちは。 返事が遅くなりました。その理由は、Word削除のマクロが、自分が思っていた反応と、まったく違っていたからです。ショートカットの反応も違いました。今回、もう少し、反応が速くならないのかなって思いました。それでも、一応、Wordの方も、それぞれのフォルダの中身を、この機に整理しました。本当は、htaファイルやwsf で作ると、便利だろうなって思いましたが、今は、もう少し技術が足りません。 ------------------------------------------- >「プレビューの図を保存する」というのが >エクセルのプロパティを開いてもないのですが、 >こちらもし良かったら教えてもらえませんでしょうか。 これは、後からで、全部変更ることも可能なのですが、そのまま保存してしまうと、タイムスタンプが変わってしまうので、今後の問題にしたほうがよいです。 二種類の設定が必要です。 今は、Excel 2003 だけですが、Wordも同様です。 メニュー--ファイル--プロパティ--ファイルの概要-- 「プレビューの図を保存する」のチェックを入れる。 ツール--オプション--全般-- 「保存時にプロパティを確認する(P) のチェックを入れる ということです。 こうすると、画像が保存されて、「ファイルを開く」ダイアログ(プレビューモード)やエクスプローラで、その中身を確認にして、削除することが可能です。 '========================================= マクロ編 以下は、WordのVBAのモジュールに貼りつけてください。 本当は、特殊なツールを使うと、Word(Excelを含む)はその中身を開かずに見れるのですが、それを設定してもらうこと自体が、掲示板で教えるには、少し荷が重いような気がしました。そのツールは、" xdoc2txt.ocx " というものです。(参照URLは下段に) 以下は、コントロールツールのボタンに設定してください。 最初から、ThisDocument に入れて作ればよかったのですが、標準モジュールで作り始めてしまったので、このようなスタイルになってしまいました。 '========================================= Private Sub CommandButton1_Click() Call WordFileDeletePro End Sub Private Sub CommandButton2_Click()  Call DeleteDoc End Sub '========================================= Dim FileName As String Dim fName As String Sub WordFileDeletePro()  Dim fNames As Variant   With Application.FileDialog(msoFileDialogFilePicker)     .Filters.Add "Wordファイル", "*.doc", 1     .Filters.Add "Wordファイル", "*.doc?", 2     .Show     Set fNames = .SelectedItems   End With   If fNames.Count = 0 Then Exit Sub   FileName = fNames(1)   fName = Mid(FileName, InStrRev(FileName, "\") + 1)   If fName Like "$*.doc" Then     If MsgBox(fName & "はそのまま削除します。", vbInformation + vbOKCancel) = vbOK Then       Kill FileName       MsgBox "削除しました。", vbExclamation       Exit Sub     Else       MsgBox "中止しました。", vbExclamation       Exit Sub     End If   End If   On Error Resume Next   Documents.Open FileName, , True   On Error GoTo 0   If ThisDocument.FullName = FileName Then     MsgBox "自ブックは、削除対象とすることが出来ません。", vbExclamation     Exit Sub   End If   If MsgBox(fName & "を削除してよろしいですか?" & vbCrLf & _     "後で削除する場合は、別のボタンで削除してください。", vbQuestion + vbOKCancel) = vbOK Then      Call DeleteDoc   Else     ThisDocument.Activate   End If End Sub Sub DeleteDoc()   Dim objFS As Object   On Error Resume Next   Set objFS = CreateObject("Scripting.FilesystemObject")   If fName = "" Then     MsgBox "ファイル名取得に失敗しています。" & vbCrLf & _     "もう一度やり直してください。", vbExclamation     Exit Sub     Set objFS = Nothing   End If   Documents(fName).Close False   objFS.DeleteFile fName   If Err.Number > 0 Then     MsgBox "ファイル削除に失敗しました。", vbExclamation   Else     MsgBox fName & "の削除に成功しました。", vbInformation     fName = ""     FileName = ""   End If   On Error GoTo 0 End Sub

参考URL:
http://www31.ocn.ne.jp/~h_ishida/xdoc2txt.html

その他の回答 (5)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.6

こんにちは。 実害はないのですが、#5の修正します。 Sub WordFileDeletePro()から、 15行前後に '      MsgBox "削除しました。", vbExclamation とありますが、       MsgBox "削除しました。", vbInformation としてください。

yoshi0518
質問者

お礼

Wendy02さん 本当に有り難うございます。 集中してやってみる時間がなくてお礼遅れてしまいすみません。 色々と勉強になり参考になり、 ストレスから解消されそうです。 どうも有り難うございました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

#3 で、今、表題をみたら、Wordもありましたが、忘れていました。Wordに関しては、Excelと違って、Documentオブジェクトは複数があるわけではないので、別な方法があります。その件は、ご質問者さんの応対があってから、考えたいと思います。

yoshi0518
質問者

補足

Wendy02さん 恐れ入ります。もしお時間ありましたら、 こちらも教えて頂けませんでしょうか。 どうぞ宜しくお願い致します。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 たぶん、内容を確認して削除しているのだと思います。 日ごろ、削除させるためにプロパティで、「プレビューの図を保存する」という表示をさせるようにしておけば、「ファイルを開く」ダイアログで、その画面を見ながら削除できるのです。 それ以外の方法ということで、ファイラーが良いかと思いましたが、Vector で数個を調べてみましたが、Excelファイルの削除を目的とする良いツールがありませんでした。どれも不向きです。 そこで、VBAのファイルオープンダイアログを組み合わせて、ReadOnlyで開いて、削除するという方法もあります。以下はサンプルですが、これでも、十分にフォルダ内部の整理は可能です。フォームのボタンに取り付けると便利です。 本当は、UserForm で作ったほうがよいのですが、ユーザーさん自身では、組み込みが難しいので、簡単なものにしました。私自身で、十数個のファイルを削除してみました。 登録名「ExcelFileDeletePro」 '------------------------------------------- 使い方:ボタンをクリックすると、ファイルダイアログが開きますので、それでブックを開きます。ReadOnly で開きますので、そのまま、削除しますか? と聞いてきますので、OK をクリックすれば削除されます。しかし、シート全体を調べたいと思ったら、Cancel をクリックしてください。 調べた後に、削除するなら、Ctrl + F2 をクリックすると、ブックは閉じて削除されます。 '標準モジュール '------------------------------------------- 'Option Explicit Dim SetKeyFlg As Boolean Dim fileName As Variant Dim fName As String Sub ExcelFileDeletePro()   Dim Wb As Workbook   If SetKeyFlg = False Then     Call SetKey     SetKeyFlg = True   End If   fileName = Application.GetOpenFilename("Excel(*.xls),*.xls", 1, "ファイル名取得")   If VarType(fileName) = vbBoolean Or fileName = "" Then Exit Sub   If ThisWorkbook.FullName = fileName Then     MsgBox "自ブックは、削除対象とすることが出来ません。", vbExclamation     Exit Sub   End If   Set Wb = Workbooks.Open(fileName, , True)   fName = Wb.Name   If MsgBox(Wb.Name & "を削除してよろしいですか?" & vbCrLf & _     "後でCtrl + F2 のショートカットでも削除出来ます。", vbQuestion + vbOKCancel) = vbOK Then     Call DeleteWb     On Error Resume Next     If ActiveWorkbook.FullName <> ThisWorkbook.FullName Then      ActiveWorkbook.Close False     End If     On Error GoTo 0   End If End Sub Private Sub SetKey()  Application.OnKey "^{F2}", "DeleteWb" End Sub Private Sub DeleteWb()   Dim objFS As Object   On Error Resume Next   Set objFS = CreateObject("Scripting.FilesystemObject")   objFS.DeleteFile fName   If Err.Number > 0 Then     MsgBox "ファイル削除に失敗しました。", vbExclamation   Else     MsgBox fName & "の削除に成功しました。", vbInformation   End If   If ActiveWorkbook.Name <> ThisWorkbook.Name Then     ActiveWorkbook.Close False   End If   On Error GoTo 0 End Sub Sub Auto_Close()  Application.OnKey "^{F2}" End Sub

yoshi0518
質問者

お礼

Wendy02さん 大変丁寧で詳しい解説どうも有り難うございます。 VBAできました。すごいですね!感動しました。 有り難うございます。 上の「プレビューの図を保存する」というのが エクセルのプロパティを開いてもないのですが、 こちらもし良かったら教えてもらえませんでしょうか。 どうぞ宜しくお願いします。

  • nza49739
  • ベストアンサー率46% (29/62)
回答No.2

ごめんなさい、この文から何を削除したいのかわからないのですが・・・

yoshi0518
質問者

補足

nza49739さん すみません。説明不足でした。 このファイル自身を削除したいという意味でした。 どうも難しそうですね。。。

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

何を削除したいのかが書かれていませんが…、 その開いているファイル自身を削除したいのなら「無理」です。 ※OSは一応マルチタスクで動いていますから削除しようとします。 ※今、自分で開いているので削除しようとしてもエラーになります。 ※「別のユーザがアクセスしている~」のようなエラーが出るはずです。 ※この「別のユーザ」とは、あなた自身のことです。

yoshi0518
質問者

お礼

edomin7777さん ご回答ありがとうございます。 ファイル自身を削除したいのです。 無理ですか。。 結構できたら便利な気がしますが、、、 残念です。 有り難うございました。

関連するQ&A