- ベストアンサー
シェアウェアのような使用期限をマクロで作成したいのですが…
タイトルが質問内容でもあります。そのままですみません(^^ゞエクセルで使用期限を設けたマクロをくっつけてお客様にファイルを納品したいと思っています。マクロのパスワード、シートのパスワード付保護はしましたが、この使用期限を設定するマクロのアイデアがなかなか浮かびません…どなたかよいアイデアを伝授していただけるようお願い致しますm(..)m
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
kami3さんこんにちは 簡易的な方法ですが、[書式]>[シート]>[表示しない]で、シートを表示しないようにしておき、パスワードを付けてブック保護します。次に、Workbook_Openイベントで、 Private Sub Workbook_Open() If Now > "01/05/26" Then '期限日と今日の比較 ActiveWorkbook.Unprotect "XXX" 'XXXはパスワード Sheets("Sheet1").Visible = True 'Sheet1の例 Else MsgBox "期限切れ" End If End Sub とし、シートを表示しないままファイルを保存しておきます。 ブックオープン時に、その都度期限内外の判断を行って、期限内ならばシート表示となります。ブック保護のパスワードがカギです、マクロ保護も必要です。これなら、マクロを有効にしなかった場合にも対応できると思います。ただ、PCの時計を戻されたらアウトです(^^;)。
その他の回答 (1)
- TTak
- ベストアンサー率52% (206/389)
回答No.2
失礼、回答No.1のIFステートメントの">"は、"<"の誤りです。
質問者
お礼
TTakさん♪ 補足ありがとうございましたm(..)m
お礼
TTakさん ありがとうございます(^^)v早速試してみました! 求めている動作を行えるように色々な組み合わせを行うところなんかは まるで頭の体操をしているようですね♪もっと複雑なのかなぁ~と漠然と 思っていましたが10行にも満たない内容でもここまでできてしまうなんて 今の私にはまるで魔法のように思えますw(゜o゜)w しかし指摘のとおりPC時計をちょいと変更したら使えちゃいました(^^ゞ やっぱり使える日数を限定(90日とか180日とか)して期限切れにしたほうが確実でしょうか? まだまだマクロの開始、終了というところから始めている私にはもう少し勉強が必要ですねm(..)mそうそう、あと頭の体操も(^^ゞ ところで何日か後に MsgBox "期限切れ" と表示するにはどんな方法があるのでしょうか?