
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

No.4
- 回答日時:
#3 で、今、表題をみたら、Wordもありましたが、忘れていました。
Wordに関しては、Excelと違って、Documentオブジェクトは複数があるわけではないので、別な方法があります。その件は、ご質問者さんの応対があってから、考えたいと思います。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
Wendy02さん
大変丁寧で詳しい解説どうも有り難うございます。
VBAできました。すごいですね!感動しました。
有り難うございます。
上の「プレビューの図を保存する」というのが
エクセルのプロパティを開いてもないのですが、
こちらもし良かったら教えてもらえませんでしょうか。
どうぞ宜しくお願いします。
No.1
- 回答日時:
何を削除したいのかが書かれていませんが…、
その開いているファイル自身を削除したいのなら「無理」です。
※OSは一応マルチタスクで動いていますから削除しようとします。
※今、自分で開いているので削除しようとしてもエラーになります。
※「別のユーザがアクセスしている~」のようなエラーが出るはずです。
※この「別のユーザ」とは、あなた自身のことです。
edomin7777さん
ご回答ありがとうございます。
ファイル自身を削除したいのです。
無理ですか。。
結構できたら便利な気がしますが、、、
残念です。
有り難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Word(ワード) 使用してないワード2013が起動してライセンス認証を求められる 1 2022/04/05 11:31
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- Windows 10 フォルダをパソコンから削除してもまた現れます。 5 2023/04/15 11:45
- その他(パソコン・スマホ・電化製品) アプリを開いたときに「通信に失敗しました 通信状態の良いところで 再度お試しください」と表示される 6 2022/09/20 10:19
- Chrome(クローム) Google Chrome の同期が必ず一時停止になってしまい困っています。 GoogleChrom 2 2023/02/04 16:45
- Chrome(クローム) Google Chrome の同期が必ず一時停止になってしまい困っています。 GoogleChrom 1 2023/02/05 09:59
- デスクトップパソコン Google Chrome の同期が必ず一時停止になってしまい困っています。 GoogleChrom 1 2023/02/05 19:19
- 教育ソフト・学習ソフト マイクロソフトのシリアル番号と自分のアカウント解除 2 2023/07/19 08:27
- Excel(エクセル) エクセルで作った文章を図で貼り付けたが元のエクセルが削除したので図からエクセルに戻したい 4 2022/07/05 08:11
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グループポリシーをレジストリ...
-
過去に削除したファイルのファ...
-
win10にインストールしたOpera...
-
写真管理ソフトが削除できない
-
パソコンのドライバーについて
-
Cドライブの「APSETUP」という...
-
ウィルスバスターの巨大なログ...
-
不要なファイルの削除
-
容量の減らし方
-
パソコンを買ってから何かやら...
-
JPEGからRAWデータへの変換に関...
-
SONY ICカードリーダー RC-S330...
-
拡張子「KRF2」ファイル
-
Excelで勝手に保存画面に飛びま...
-
プロジェクターとスマホのアマ...
-
ダウンロード中にでる矢印マー...
-
robocopyでファイルがあるのに...
-
ファイルをダウンロードした順...
-
Windows7でHEIC画像を表示した...
-
FTPに接続し、 あるフォルダ内...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
win10にインストールしたOpera...
-
Cドライブの「APSETUP」という...
-
パソコンのドライバーについて
-
WindowsPCにおいて 何故アンイ...
-
Common Filesのフォルダ削除に...
-
壁紙の保存場所
-
Advanced System Careの削除
-
Unlockerについて
-
削除エラーになって削除できま...
-
誤って「CnsMin.dll」を削除し...
-
MS-IMEってアンインストールで...
-
圧縮ファイルが削除できない
-
itunes内の曲を削除したら、C...
-
突然別窓で広告が出るように。。。
-
SSD導入にともなうOSの削除、導...
-
使用中のため削除できないファ...
-
過去に削除したファイルのファ...
-
不要なアプリのアンインストール
-
ウィルスバスターの巨大なログ...
-
RealPlayerを削除しても問題な...
おすすめ情報