• ベストアンサー

シェアウェアのような使用期限をマクロで作成したいのですが…

タイトルが質問内容でもあります。そのままですみません(^^ゞエクセルで使用期限を設けたマクロをくっつけてお客様にファイルを納品したいと思っています。マクロのパスワード、シートのパスワード付保護はしましたが、この使用期限を設定するマクロのアイデアがなかなか浮かびません…どなたかよいアイデアを伝授していただけるようお願い致しますm(..)m

  • kami3
  • お礼率100% (2/2)

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

  • ベストアンサー
  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

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の時計を戻されたらアウトです(^^;)。

kami3
質問者

お礼

TTakさん ありがとうございます(^^)v早速試してみました! 求めている動作を行えるように色々な組み合わせを行うところなんかは まるで頭の体操をしているようですね♪もっと複雑なのかなぁ~と漠然と 思っていましたが10行にも満たない内容でもここまでできてしまうなんて 今の私にはまるで魔法のように思えますw(゜o゜)w しかし指摘のとおりPC時計をちょいと変更したら使えちゃいました(^^ゞ やっぱり使える日数を限定(90日とか180日とか)して期限切れにしたほうが確実でしょうか? まだまだマクロの開始、終了というところから始めている私にはもう少し勉強が必要ですねm(..)mそうそう、あと頭の体操も(^^ゞ ところで何日か後に MsgBox "期限切れ" と表示するにはどんな方法があるのでしょうか?

その他の回答 (1)

  • TTak
  • ベストアンサー率52% (206/389)
回答No.2

失礼、回答No.1のIFステートメントの">"は、"<"の誤りです。

kami3
質問者

お礼

TTakさん♪ 補足ありがとうございましたm(..)m

関連するQ&A

  • エクセルのシート保護をマクロのボタンで

    ご教示下さい。 エクセルでのシート保護の設定をボタン一つで出来るようにと思い、マクロの自動記録で作成してみましたが、設定したはずのパスワードが記録されていません。 シート保護の解除にパスワードの入力が必要なようにする、シート保護のマクロは出来るでしょうか?。 どなたか、よろしくお願いいたします。

  • EXCEL パスワード保護 使用可能な文字

    EXCELファイルにパスワード設定をしようと考えています。 (ファイル保護、シート保護、VBAProject保護など) そこで、質問なのですが、パスワードに使用可能な文字、使用できない文字を教えていただけないでしょうか? すみませんがよろしくお願いします。

  • マクロについて教えて下さい。

    マクロについて教えて下さい。 タイムカードを作成するマクロを作成したのですが 時間を修正できないようにシートの保護をパスワードを 設定して作成しました。 ユーザーフォームのボタンを押すと時刻が入るようになっているのですが 当然時刻を入れる時は保護を解除しなければならないので 全シートの保護の解除のマクロも作成しました。 マクロにはパスワードが記述してあります。 このマクロを見られないようにする方法はありますでしょうか。 宜しくお願いします。

  • エクセルで以下のマクロ作成して使用しています

    エクセルで以下のマクロ作成して使用しています シート1の1行目のデータをシート2に貼り付け ↓ 印刷 ↓ シート2のデータをクリア ↓ シート1の2行目のデータをシート2に貼り付け ↓ 印刷 ・・・と指定行数まで繰り返し ここで質問です 通常印刷では上記マクロでなんの問題もなく使用しているのですが、プリンターをAdobe PDFに選択してPDFファイルを作成する際、[PDF ファイルに名前を付けて保存] ダイアログボックスが開いて、毎回 保存場所とファイル名を指定しなければなりません。 50行分のデータをPDF化する際は50回保存場所とファイル名を指定しなければなりません この作業を省略または自動化する設定・方法はないでしょうか? windowsXPにて AdobeAcrobat9pro エクセル2003  を使っています おわかりの方がいらっしゃいましたら是非ご教授ください よろしくお願いいたします。

  • エクセル2007で、「マクロ」形式保存かつ「暗号化」状態で、マクロが実行できない

    エクセル2007を最近導入しました エクセル2003で作成したファイルを、2007形式に順次変換して、保存・使用しています そんなファイルの中に、「読み取りパスワード」をかけていて、 かつ、簡単なマクロ(自動記録機能を元に作成)を含むファイルがあります マクロの保存先は「作業中のブック」です このような種類のファイル(パスワード保護+マクロ実行)を2007に変換・保存しようとすると 「マクロ有効ブック形式」(*.xlsm)で保存するようにメッセージが出ます メッセージにしたがい、保存・終了し、改めて開こうとすると 「マクロを実行するためには…暗号化を解除する」ようにメッセージが表示されます (なお、ファイルにアクセス制限は設定していません) つまり、2007では、「パスワード保護+マクロ実行」というのは、混在できないようなのです 私の操作方法の誤りでしょうか? それとも、このような仕様になっていて、何か、回避する方法があるのでしょうか? 教えてください。お願いします。

  • Excel2003でシート保護(オートフィルタ使用にはチェック)するとマクロのオートフィルタでエラーになる

    QNo.3901563で回答いただき、Excelの試用で保護後のオートフィルタは使えないのはわかりました。 そこで予めオートフィルタを設定し、シートに保護をかけました。 Excelの画面上ではオートフィルタは使用できます。 マクロよりオートフィルタの抽出条件を変更するコマンドを実行すると「保護されたシートに対して、このコマンドは実行できません」と表示されます。コマンドは新しいマクロの記録で操作を記録したものです。記録したときは特にエラーはでませんでした。 Selection.AutoFilter Field:=2, Criteria1:="AAA" マクロのコマンドでは保護のかかったシートのオートフィルタの抽出条件を変更することは出来ないのでしょうか。 マクロの前後にシート保護を解除するコマンドを入れようかとも思ったのですが、保護にパスワードがかかっており、本末転倒となるもので。

  • エクセルのマクロを教えてください。(初心者です)その2

    エクセルで期間限定で使えるソフトを作ろうと思っています。 簡単に申し上げると、 使用期限を設けて、期限の日がくると、 エクセルのセルに 「有効期限が来ましたので、再度お申し込みください。」 という文章が表示され(ポップアップでなくていいです)、 このシート以外は片っ端からシートが削除され、 上書き保存され、これ以上使えないというものを作りたいのです。 ツールバーのマクロの記録を利用した 極度に簡単なマクロしかやったことがないので、 以下の点を中心にマクロの作成の仕方を お教え頂けますと幸甚です。 (1)有効期限の日付を入力しておいて、その日が来るとマクロが実行される方法 TODAY関数と有効期限の引き算でゼロになったら実行でしょうか。 該当セルの数値がゼロになったらマクロが実行されるという方法を お教え頂けませんか。 ちなみに、有効期限の日付は、非表示にしてシートの保護で開けないようにしておこうと思います。 (2)有効期限が来たら自動的にマクロが実行される方法 上記(1)の方法でやれば、ファイルを開いたとたんマクロが実行されるのでしょうか。 (3)マクロでシートを削除する方法 これは、通常のマクロの記録でやろうとすると、 シートを削除すると「やり直し」でもシートを復活させられないので、 シートがなくなっちゃった状態でしか保存できない気がするのですが・・・。 (4)上書き保存するマクロ 上記(3)と同様、マクロの記録では できないので、これ以外のやり方をお教え頂けませんか。 (5)シートを表示させるマクロ マクロを実行した時点で「有効期限が来ました・・」と入力された シートを表示させたいのです。 マクロで表示させる方法をお教え頂けますでしょうか。 (6)マクロを見れないようにする方法 マクロを自由自在に操れる人が 私の作ろうとするエクセルファイルを手にしたら、 「有効期限になる前にマクロを削除しちゃえ」と やられないかが心配です。 うまい対処方法ございませんでしょうか。 (7)パソコンの日付の操作の対処 上記の(6)と絡むのですが、 パソコンの日付とプロパティーから パソコンの日付をいじって 有効期限より前の日付にしたら ずっと使われてしまうのではないか心配です。 うまい対処方法ございませんでしょうか。 ずぶの素人の私にどなたか この方法をご教示頂けませんでしょうか。

  • マクロを有効にしないと使えないエクセルの作成

    これまでは、何も無いシート1枚だけを表示し、他のシートをxlSheetVerryhiddenにして、Workbook_Openで 他のシートをxlSheetVisibleにしておりました。ただ、見せたくないシートもけっこうあるのでシートの区別が面倒でした。 ところが、そんな面倒なことをしなくとも、[マクロを無効にする]で開くと使えないxlsファイルの作り方がありました。 ↓ http://www2.aqua-r.tepm.jp/~kmado/ke_m9.htm エクセル2003でテストしたところうまく行き、これを使わせていただこうかと思いました。 ところが、エクセル2010でやってみると、まったく働いてくれません。 このようなやりかたをエクセル2010以上で使う方法があれば教えてください。

  • EVAでマクロ有無チェックについて

    Excel VBAで指定したフォルダ配下のExcelファイルのマクロ有無チェックをしたいと思っています。 マクロ有無チェックまではできたのですが、パスワードを設定しているExcelファイルがあると、 そこでエラーとなってしまいます。 パスワードが設定されているExcelファイル(パスワード不明)は、フォルダパスとファイル名をSheet2に書き出し、次のファイルチェックに行くようにしたいのですが、よくわかりません。 どなたかご教授下さい。 Excel2003です。 以下まではできています。 filelist = Dir(FoldPath & "\" & "*.xls") Do While filelist <> "" Application.EnableEvents = False Set Target = Workbooks.Open(FoldPath & "\" & filelist) マクロ有無チェック    Sheet1にフォルダパス、ファイル名、マクロ有無を書き出す    Target.Close Application.EnableEvents = True filelist = Dir() Loop

  • エクセル:ブックを開くときに「マクロを有効にする」の表示を省略したい

    よろしくお願いします。 エクセルファイルを開くとに、マクロを設定していると「マクロを有効にしますか」と聞いてきますが、 特定のあるブックについて、『必ず有効にする』前提でその表示を出すことを(有効のボタンを押すことを)省略する方法を教えてください。やはりきっと、マクロですよね。 ブックは、パスワードで保護もしていますし、マイパソコンだけでの使用ですので、いちいち有効にするというボタンを押す作業を省略したいのです。 ご指導よろしくお願いいたします。

専門家に質問してみよう