新生活!引っ越してから困らないように注意すべきことは?>>

こんにちは、マクロで保存等制御しているのですが、マクロを無効にして立ち上げられてしまうと意味がありません。マクロを有効にしないとファイルが開けないようにする方法はありませんでしょうか?
よろしくお願い致します。

gooドクター

A 回答 (4件)

マクロを強制的に実行させる方法はありませんので、お考えの事は不可能です。


それが可能であればウィルスを含むエクセルファイルを確実に配布して実行できる事になるので、すべてのエクセルは悪質なファイルとしてネット上で非難される事になるでしょう。


単純な方法としては、シートを1枚だけ表示させて、他のシートを非表示に設定すること。
xlSheetVeryHidden に設定すれば、メニューのシートの再表示にシート名が表示される事はありません。
ただし、VBE画面のシートのプロパティで操作は可能です。

知識がある人には無意味ですが普通の人には有効でしょう。

http://www.moug.net/tech/exvba/0040053.htm
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
http://www.nurs.or.jp/~ppoy/access/excel/xlA006. …
    • good
    • 1

絶対とは言いませんが、難しいでしょうね


理由は#2さんも言われてるように、マクロウィルス

私なら、対象ファイルにパスワードを設定し
対象ファイルを開くファイルを別に作成
このファイルのマクロを使用して、対象ファイルにパスワードを自動で入力し開く
この方法だとファイルが2つになるが、マクロを使用しないと開けなくなる

参考程度に
    • good
    • 0

マクロ無効化対策としては、他に IsAddin プロパティを制御する方法もあるようですね。


http://homepage2.nifty.com/kmado/kvba.htm
(ここの E00M090 [マクロを無効にする]で開くと使えないxlsファイル )
    • good
    • 0

直接の回答ではありませんが、保存制御する直前に、たとえば


Sheets("Sheet1").Visible = False
などとしておき、ThisWorkbookに
Private Sub Workbook_Open()
Sheets("Sheet1").Visible = True
Sheets("Sheet1").Activate
End Sub
などとしておくと、マクロを有効にして開かないとSheet1が見えないという
ことは可能になります。

ご参考になれば。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング