A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
追記。
ANo.4の方法での自己消滅は、エクセルのファイルそのものを消去するので、慎重にテストして下さい。うっかり「オリジナルファイル」を削除してしまわないように(回答の投稿の前にテストで削除が実行されてしまい、マクロを最初から書き直ししたウッカリさんがここに居ます)
なお、何をしているかと言うと
1.使用期限切れの日付をチェック
2.エクセルファイルが消えるまで、繰り返してデリートを試みて、エクセルファイルが消えたら自分自身も自己消去するバッチファイルを生成
3.使用期限の警告を表示
4.上記2で生成したバッチファイルを、非表示モードで実行
5.自分自身のエクセルファイルファイルを閉じる
と言う処理をしています。
エクセルファイル自身は、自分自身が開かれている限り自分自身を削除できませんが、バッチファイルは「実行中の自分自身を削除可能」なので、エクセルファイルとバッチファイル自身の削除をバッチファイルで行っています。
No.4
- 回答日時:
ThisWorkbookのOpenイベントに以下のコードを仕込むと、2014/12/23日になった時点で、開いた時に警告を出してから自己消滅します。
Private Sub Workbook_Open()
Dim ofn As String
Dim bfn As String
If Now() >= #12/23/2014# Then
ofn = ThisWorkbook.FullName
bfn = ofn & ".bat"
Open bfn For Output As #1
Print #1, "@echo off"
Print #1, ":loop"
Print #1, "del """ & ofn & """"
Print #1, "if exist """ & ofn & """ goto loop"
Print #1, "del """ & bfn & """"
Close #1
MsgBox "使用期限切れの為、使用できません"
Shell """" & bfn & """", vbHide
ThisWorkbook.Close
End If
End Sub
以前の回答にある「VBAコードの表示用にパスワードを付ける」と併用すると、コードを見られなくなるので、時限爆弾を回避する事はできません。
なお、起動時に「マクロを無効にする」を選ばれた時は上記の時限爆弾は機能しませんが、他のマクロも動かないなら実用にならないので、問題は無いでしょう。
No.3
- 回答日時:
こんにちは。
>エクセルファイルをそのエクセルファイル内のマクロで削除する方法
通常は、Windows Rights Management[WRM] で期限付きファイルにしてしまいます。
それが、正規の方法だと思います。
しかし、いわゆる「自爆マクロ」は、以下のようにして、可能だと思います。
>記述したマクロコードだけ削除させるのでよいです。
以下は、"Module1" を完全に消してしまいます。これは、乱用禁止のマクロです。(むろん、マクロが動くことが条件です)
また、1 は不要だと思いますが、2.は不可欠です。
1.VBEにおいてMicrosoft Visual Basic for Applications Extensibilityへの参照を追加する。
2.「VBAプロジェクト オブジェクトモデルへのアクセスを信頼する」オプションのセキュリティセンターを指定する。
つまり、1がネックになってしまいます。
その1をオンにしていないと、
実行時エラー [プログラミングによる Visual Basci プロジェクトのアクセスは信頼に欠けます]
というエラーが出ます。
1.をマクロでオンにすることはおそらくは可能ですが、非公開の禁断のテクニックです。
'//
'Module1 にこのマクロを置きます。
Private Const LIMIT_DATE As Date = #12/19/2014#
Sub Auto_Open()
If Date = LIMIT_DATE Then
Application.OnTime Now + TimeValue("00:00:01"), "ThisWorkbookSave" '*
Call DeleteModule
End If
End Sub
Sub DeleteModule()
With ThisWorkbook.VBProject.VBComponents
.Remove ThisWorkbook.VBProject.VBComponents("Module1")
End With
End Sub
'Module2 (以下はなくても良い、その場合は、[*]のコードを抜く)
'これは、変更が加えられたことを気づかせないためのマクロ
Private Sub ThisWorkbookSave()
ThisWorkbook.Save
ThisWorkbook.Saved = True
End Sub
'//
[テスト済み]起動とともに、日付が合えば、削除します。
他にも、おそらく、かなり古いテクニックを使って、自分自身のファイルを削除するマクロは可能だと思います。想像だけで、やったことはありません。もう、そうなるとウィルスを作るようなものです。
Windows Rights Management[WRM]期限付きファイルを知らなかったので、早速色々と調べてみます。
正規な方法でできれば、この方法を活用したいと思います。
No.1
- 回答日時:
に従ってマクロを見られない状態にすれば、マクロのコードを見るのにパスワードが必要になります。
「見れない状態」であれば、削除する必要は無いし、パスワードさえ漏らさなければ流用される事もありません。
因みに「マクロ実行中のエクセルのブック」は「ファイルが排他モードでオープンされている」ので、自分自身のブックファイルを削除しようとすると「アクセス違反」でエラーになり、削除は不可能です。
ご回答ありがとうございます。
マクロ実行中のブックでは、ダメなのですね。参考になりました。
パスワードという選択肢も考えたのですが、「パスワードさえ漏らさなければ」ということが少し問題になって、削除できればと考えました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/10 14:24
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/10/03 09:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/07/13 12:31
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/04 10:48
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
あなたにとってのゴールデンタイムはいつですか?
一週間の中でもっともテンションが上がる「ゴールデンタイム」はいつですか? その逆で、一週間でもっとも落ち込むタイミングでも構いません。 よかったら教えて下さい!
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
いけず言葉しりとり
はんなりと心にダメージを与える「いけず言葉」でしりとりをしましょう。 「あ」あら〜しゃれた服着てはりますな 遠くからでもわかりましたわ
-
ギリギリ行けるお一人様のライン
おひとり様需要が増えているというニュースも耳にしますが、 あなたが「ギリギリ一人でも行ける!」という場所や行為を教えてください
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
EXCELマクロでのThisisWorkbookの削除をしたいです。
Visual Basic(VBA)
-
マクロでマクロを削除する
Excel(エクセル)
-
-
4
開いているファイルを削除し、別名で保存する方法
Visual Basic(VBA)
-
5
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
6
マクロを消すマクロは不可能?
Excel(エクセル)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
EXCELのVBAでシートコピーをしたとき元のマクロを削除するには?
Excel(エクセル)
-
9
エクセルで使用期限付きのブックを作成したい
Excel(エクセル)
-
10
エクセルVBAの自己消滅で
Excel(エクセル)
-
11
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
12
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
13
標準モジュールを削除したい。(VBA)
Access(アクセス)
-
14
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
15
オプションボタンの背景を透明にしたい
その他(Microsoft Office)
-
16
自動で.xlsを閉じて指定フォルダに移動させたい
Visual Basic(VBA)
-
17
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
18
別ブックからユーザーフォームを実行したい~!!
Visual Basic(VBA)
-
19
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
20
Sub Auto_Open() 実行されない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/2】 国民的アニメ『サザエさん』が打ち切りになった理由を教えてください
- ・ちょっと先の未来クイズ第5問
- ・【お題】ヒーローの謝罪会見
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コピーしたファイルのマクロを...
-
マクロを消すマクロは不可能?
-
エクセルファイルを自身のファ...
-
昨日まで動いていたエクセルの...
-
EXCEL マクロ クリップボードク...
-
別のパソコンでエクセルのマク...
-
excelファイルに使われているVB...
-
エクセル終了時の保存確認メッ...
-
エクセルで印刷する方法 エクセ...
-
EXCELでのマクロ実行後の行列番...
-
【マクロ】エラーが発生⇒実行時...
-
エクセル2013vbaで、見えない名...
-
VBA マクロ実行時エラー’1004Ra...
-
Wordで貼り付け(ペースト)機能...
-
VBAを一度起動するとずっと出て...
-
Excelが勝手にシート移動してし...
-
excelのマクロ実行でブロックさ...
-
【マクロ】マクロが割当てされ...
-
excelが別プロセスで起動してし...
-
エクセルマクロが海外PCで開けない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを一度起動するとずっと出て...
-
コピーしたファイルのマクロを...
-
エクセル終了時の保存確認メッ...
-
昨日まで動いていたエクセルの...
-
別のパソコンでエクセルのマク...
-
VBA マクロ実行時エラー’1004Ra...
-
excelファイルに使われているVB...
-
Excelが勝手にシート移動してし...
-
エクセルファイルを自身のファ...
-
EXCEL マクロ クリップボードク...
-
マクロを消すマクロは不可能?
-
アクセスでファイルを開いたと...
-
エクセルで印刷する方法 エクセ...
-
エクセル2013vbaで、見えない名...
-
エクセルマクロ実行中に別ファ...
-
Excelマクロ ファイル名が変わ...
-
【マクロ】エラーが発生⇒実行時...
-
外部データを取り込むマクロ
-
マクロを設定したのに、拡張子...
-
マクロでマクロを削除する
おすすめ情報