No.5ベストアンサー
- 回答日時:
>オープンイベントでカウント回数をレジストリに書き込めればクリアできるのですが上手くいきません。
>a = a + 1
>SaveSetting "TestApp", "TestSection", "WindowX", a
まずaにGetSetting 関数にて回数を取込み、
その回数が50なら起動時は51回目となるので、終了させる。
50に満たない場合には、aに+1をしてレジストリに書き込む。
と言うようにしないと、レジストリはずっと1のままでは?
(検証はしてないですけど)
No.4
- 回答日時:
なんか、有料のExcelマクロの体験版とか作成したいんでしょうか。
もし、特定のマクロの実行回数を制限したいということでしたら
特定のシートにパスワードロックを掛けてそこに他の方のいうような
方法でデータを保存しておけば出来ないことはないと思います。
勿論ソースもロックしておかないと見られてしまいますけど。
そうでなく単純に特定のExcelファイルを開けないようにしたいと
いうことならそもそもExcelはデフォルトではマクロの実行は低辺りの
設定になっていて動きませんし、実行するかどうか自体もユーザーが
選べるので意味はありません。
No.3
- 回答日時:
ThisWorkbook に下記コードをコピーして名前を付けて保存後何度か開いて見て下さい。
Private Sub Workbook_Open()
Dim 回数 As Integer
回数 = Sheets(1).Cells(1, 1).Value
回数 = 回数 + 1
Sheets(1).Cells(1, 1).Value = 回数
Me.Save
End Sub
シート1のA1セルの値が開く度に増えるでしょう。
これを基にIf文でご希望の処理が出来るかと思います。
No.2
- 回答日時:
プロが考えるような課題を行う必要があるのかな。
ーー
経験は無いが、ブックが閉じられても、前回までに開かれた回数は
記憶されねばなりません。それはディスクの記憶域しかありません。エクセルのセルに記録でもそれは出来ますが、目に付く可能性もありふさわしく無い。OSなどで、ユーザーが使えるエリアも良くわからない。残すところ自作の非公開のファイルに回数を書き出し、開くたびに読み出して、回数チェックをするほか無いと思う。
しかし熟達者はコードを読み解いて、その仕組みを見破るかもしれない。コンパイルして機械語になったりしたものは見破りにくかろうが。相手と用途によって、上記でも十分ならば考えてみては。
No.1
- 回答日時:
どこかのセルに回数を代入するようにして、開くたびに+1するとか?
(50回を超えたらメッセージを出す)
でも上書き保存しない場合まずいので、閉じる際にした方がいいのかな?
しかしセルの位置を見つけられたら無理かも。
と言うか、マクロを無効で開いた場合はどうしましょ?
あまり参考にはならなかったかも。。。
この回答への補足
ご回答ありがとうございます。
オープンイベントでカウント回数をレジストリに書き込めればクリアできるのですが上手くいきません。
Private Sub Workbook_Open()
Dim t As String
Dim dt As Date
Static a As Integer
a = a + 1
SaveSetting "TestApp", "TestSection", "WindowX", a
If a > 51 Then
MsgBox "試用期間が過ぎましたので終了します。"
' 本ブックをClose
For Each w In Application.Workbooks
w.Save
Next w
Workbooks.Close
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) エクセルでのVBA 2 2022/08/03 06:48
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Excel(エクセル) マクロの付いたExcelが開けません 3 2023/02/01 10:54
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル連番自動印刷について
-
EXCEL 行番号や列番号が選択で...
-
エクセルファイルを値でのみし...
-
VBA Shapes コピーと名前
-
Excelでマクロ実行中に画面を固...
-
エクセル 図形の寸法を取得したい
-
【Excel】マクロでページを追加...
-
エクセル マクロ写真帳に一括で...
-
マクロで非表示シート内にある...
-
エクセルに写真を挿入するマ...
-
ブックの共有でVBAエラー
-
エクセル メニューバーの中の...
-
再度,ExcelVBA,public変数が消える
-
EXCEL VBA 他のアプリケーショ...
-
エクセルVBAで納期管理システム...
-
VBAで保存しないで閉じると空の...
-
WPSOffice_マクロの有効化について
-
Excel マクロの編集がグレーに...
-
エクセル関数>参照ファイル名...
-
エクセル ボタンに設定したマク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelでマクロ実行中に画面を固...
-
エクセルファイルを値でのみし...
-
エクセル連番自動印刷について
-
【Excel】マクロでページを追加...
-
VBA Shapes コピーと名前
-
エクセル マクロ写真帳に一括で...
-
セルに入力するたびにマクロを...
-
エクセルVBAで納期管理システム...
-
EXCEL VBA 他のアプリケーショ...
-
エクセル 図形の寸法を取得したい
-
VBAで行コピーして挿入
-
EXCEL 行番号や列番号が選択で...
-
ブックの共有でVBAエラー
-
エクセルのマクロについて教え...
-
【ExcelVBA】マクロブックを通...
-
エクセルファイルの回数期限の...
-
VB.NETによるEXCELの行挿入
-
グラフ要素のセルを参照したい...
-
再度,ExcelVBA,public変数が消える
-
VBAの記述について 値のみの貼...
おすすめ情報