
No.8ベストアンサー
- 回答日時:
>ご教示いただいた内容(Cells.Font.ColorIndex = 0')をそのまま
そのままで良いです。意味は 文字の色を自動に 設定するだけです。
回答前のファイル作成して保存するときは、必ずシートを選択して文字色を白、シートに保護
ブックの保護は解除して保存することになりますね。(毎回で大変ですが)
マクロで時間が来て保存された状態は
シートに保護、色は自動、ブックに保護の状態です。
更にと気が付いたので、終了時に保存のいいえを選択する可能性がありますね。
Sub OnTime1()
ActiveSheet.Protect Password:="1234"
Msgbox "指定の時間が来ましたので編集できなくなりました。指定のフォルダに回答を保存してください。"
Application.DisplayAlerts = False'←メッセージを出さない
ThisWorkbook.SaveAs Password:="1234", WriteResPassword:="1234"
ThisWorkbook.Close
End Sub
の1行を加えると上書き保存しますかのメッセージがでなくなります。
この1行はうまく出来るようになってから記述しないと修正の作業が大変になります。
何度もありがとう御座います。
なるほど!
おっしゃる通りですね。
考えれば考えるほど色々出て来ますよね。
実は この質問は 僕の業務ではなく 担当者の代わりに板を立てていたのですが
今後は 担当者が直接 質問するようにしましたので 同じ内容の質問を見付けたら回答してやってください。
中途半端になってしまいましたが
何度も ご回答いただきましてありがとう御座いました。
本当はポイントを全部付けたい所なのですが 同じ方には1回しか付けられないので
20ポイントで我慢してください。
何度も何度もありがとう御座いました。
No.7
- 回答日時:
標準モジュールには
Sub OnTime1()
ActiveSheet.Protect Password:="1234"
Msgbox "指定の時間が来ましたので編集できなくなりました。指定のフォルダに回答を保存してください。"
ThisWorkbook.SaveAs Password:="1234", WriteResPassword:="1234"
ThisWorkbook.Close
End Sub
とOnTime1に全て記述してみてください。
先のコードは
OnTime1では シートに保護
Ontime2では ブックに保護の事例です。
上記のコードでシートにもブックにも保護がかかると思います。
>VBEの方にも保護を掛けるには どのようにしたら良いのでしょうか。
VBエディターのツール=>VBAProjectのプロパティのウィザードの保護があります。
もうひとつ気がつきました、シートを保護にしてもマクロを無効で開いて問題を読むことが出来てしまいますね。
例えば、シート全てを選択して文字の色を白にする。(A1のメッセージだけ黒色で見れる)この状態で保存しておく。
Private Sub Workbook_Open()
ActiveSheet.Unprotect Password:="1234"
Cells.Font.ColorIndex = 0'←ここに一行追加、文字の色を自動にします。
Range("A1").Value = "終了時間は"
Range("B1").Value = Now + TimeValue("00:00:10")
Application.OnTime EarliestTime:=Now + TimeValue("00:00:10") _
, Procedure:="OnTime1"
End Sub
にしてみては如何でしょうか。
何度も ご回答いただきまして誠にありがとう御座います。
ご教示いただいた内容に従い、Sub OnTime1() も Sub OnTime2() も
両方 同じマクロとして修正いたしました。
プラス、「マクロを無効にして開いた時は文字が見えないように」これには
激しく感動しましたので そのまま使わせていただく事にしました。
がしかし マクロを無効にして開いてみた所、普通に見えてしまいました。
ご教示いただいた内容(Cells.Font.ColorIndex = 0')をそのまま貼り付けてはいけなかったのでしょうか?
また 時間制限の過ぎたブックを閉じようとしたら「実行時エラー1004」「その操作はできません。このブックは読み取り専用ファイルです」という警告が出てしまいました。
何がいけなかったのでしょうか。。
再度 ご教授いただけませんでしょうか。
宜しくお願い致します。
No.6
- 回答日時:
もうひとつ説明わすれました。
ファイル作成したら、保存して閉じてください。
次に開いたときに
Private Sub Workbook_Open()
ActiveSheet.Unprotect Password:="1234"
~
End Sub が実行されます。
標準モジュールのコードは
Sub OnTime1()
ActiveSheet.Protect Password:="1234"
Msgbox "指定の時間が来ましたので編集できなくなりました。指定のフォルダに回答を保存してください。"
ThisWorkbook.SaveAs Password:="1234", WriteResPassword:="1234"
ThisWorkbook.Close
End Sub
シートに保護かけて、メッセージ出して、ブックに保護かけて、終了
しますね。こちらのほうが少しは良いかも。
受験者にVBA操作されたらOUTですので、うまく行ったらVBエディターでも保護かけることが必要かもしれませんね。
お世話になっております。
ご回答ありがとう御座います。
ご教示いただいた内容をそれぞれ貼り付けてみた所、ものの見事に
メッセージボックスが表示され、編集不可となり感動いたしました。
ありがとう御座います。
ただ、貼り付け場所が悪かったのか何が原因か不明ですが
閉じる時に「変更を保存しますか?」で「はい」を選んで再度開いてみた所パスワードなしで
普通に開いてしまいました。。。
「ThisWorkbook」には
Private Sub Workbook_Open()
ActiveSheet.Unprotect Password:="1234"
Range("A1").Value = "終了時間は"
Range("B1").Value = Now + TimeValue("00:00:10")
Application.OnTime EarliestTime:=Now + TimeValue("00:00:10") _
, Procedure:="OnTime1"
End Sub
を貼り付け
「標準モジュール」には
Sub OnTime1()
ActiveSheet.Protect Password:="1234"
MsgBox "指定の時間が来ましたので編集できなくなりました。指定のフォルダに回答を保存してください。"
End Sub
Sub OnTime2()
ThisWorkbook.SaveAs Password:="1234", WriteResPassword:="1234"
ThisWorkbook.Close
End Sub
このまま貼り付けたのですが 何が間違っているのか 再度 ご教授いただけませんでしょうか。
お手数お掛けしまして申し訳ありません。
宜しくお願い致します。
また、通常のブックには保護を掛けられるのですがVBEの方にも
保護を掛けるには どのようにしたら良いのでしょうか。
お忙しい中 大変恐縮では御座いますが、こちらも合わせてご教授いただけますでしょうか。
何卒 宜しくお願い致します。
No.5
- 回答日時:
>「ThisWorkBookに」とか「標準モジュールに」という意味も正直理解できておりません。
VBエディターを起動したら左側に プロジェクト Project というWindowがありませんか?
その中にThisWorkBookがあります。そこをクリックしてください。
新たにThisWorkBook(コード)が開きますので、そこに
Private Sub Workbook_Open()
ActiveSheet.Unprotect Password:="1234"
~
End Sub を記述すると開いたときにイベントが実行されます。
Password:="1234" はそちらの状況に合わせてください。
他に標準モジュールが開いていればOKですが、
なければ、VBエディターのツールバーの挿入から標準モジュール をクリックしてください。
VB Projectに 標準モジュール Module1 が開きます。
そこに
Sub OnTime1()
ActiveSheet.Protect Password:="1234"
~
End Sub と
Sub OnTime2()
ThisWorkbook.SaveAs Password:="1234", WriteResPassword:="1234"
ThisWorkbook.Close
End Sub
を記述します。
・・・, Procedure:="OnTime1"の部分で希望の処理を記述してください。
再回答 誠にありがとう御座います。
まだ 試しておりませんが 取り急ぎお礼まで。
>VBエディターを起動したら左側に プロジェクト Project というWindowがありませんか?
これは 自分で勝手に閉じていたようです。
真ん中の広い部分しか表示しておりませんでしたので 登録する部分にも
種類があると今回初めて知りました。
今から 試してみますので また 分からないことがあったら
宜しくお願い致します。
(面倒なことに巻き込んですみません、宜しくお願い致します)
No.4
- 回答日時:
No3です。
シートの保護かけても最後開いて不正されますね。
Sub OnTime2()
ThisWorkbook.SaveAs Password:="1234", WriteResPassword:="1234"
ThisWorkbook.Close
End Sub
上記でパスワードを指定して保存できます。
ほか、開いた時、終了時に空メールを送信させる。
非表示のシートを準備して開いた時の時刻と保存した時の時刻をセルに入れる。
ファイルのプロパティで更新の時刻を確認するなどありそうですが、
不正をやる人は何を考えるかわかりませんので絶対とはいえないかも知れませんね。
No.3
- 回答日時:
お役に立つかどうか、とりあえずアイディアです。
仮にシートのA1に 「マクロを有効にして開かなかったので試験を受けられません」
とでもデカ文字でいれて、シートに保護をかけてファイルを保存しておく。
VBエディターで ThisWorkBookに
Private Sub Workbook_Open()
ActiveSheet.Unprotect Password:="1234"
Range("A1").Value="終了時間は"
Range("B1").Value=Now + TimeValue("00:30:00")
Application.OnTime EarliestTime:=Now + TimeValue("00:30:00") _
, Procedure:="OnTime1"
End Sub
上記の意味は、ファイルと開いた時にシートの保護を解除、A1の文字を消し、終了時間を表示する。
30分後に Ontime1 のマクロを実行
標準モジュールに
Sub OnTime1()
ActiveSheet.Protect Password:="1234"
Msgbox "指定の時間が来ましたので編集できなくなりました。指定のフォルダに回答を保存してください。"
End Sub
上記の意味は、シートに保護をかけて編集できなくする。終了のメッセージを出す。
こんな感じでは如何でしょうか。
ご回答ありがとう御座います。
試しに ご記入いただきました内容を全部貼り付けてみたのですが
まず、「このシートは保護されているので読み取り専用です」となり
しかもタイムリミットを1分に変更してみましたが 未だに開いたままです。
そもそも ご教示いただいた内容を そのまま貼り付けるだけではNGだったのでしょうか?
「ThisWorkBookに」とか「標準モジュールに」という意味も正直理解できておりません。
全部をまとめて貼り付けたのが いけないのか、それとも貼り付けた場所がそもそもダメなのか、はたまた 何かしら編集が必要だったのか。
再度 ご教示いただけませんでしょうか。
お忙しい中 大変恐縮では御座いますが 何卒宜しくお願い致します。
No.2
- 回答日時:
VBAで組む場合の参考に
http://www.asahi-net.or.jp/~zn3y-ngi/YNxv214.htm …
試験とはエクセルの操作の試験?
それとも問題自体の表示か参考資料が表示されるのかな?
エクセルの操作手順や、マクロ作成が問題の場合は、時間制限をマクロで組むこと自体に無理がありそうな気もする、変更や停止処理されてしまえばそれまで。
マクロの無効化に関しては、問題を表示するのもマクロに組み込めば、無効にした時点で問題表示もされなくなるので解決するかとは思いますが、システムの時間を変更されたらどうします?
エクセル以外の他のソフト内(IEとか)でエクセルを読み込んで操作可能なシステムで、エクセル以外のところで時間計測を行うシステムが良いと思う、実現方法はちょっとわからないけど、MOUSの試験のような感じで。
ご回答ありがとう御座います。
>MOUSの試験のような感じで。
そうなんですよ! こんな感じでやりたいんです!
>試験とはエクセルの操作の試験?それとも問題自体の表示か参考資料が表示されるのかな?
これは後者ですね。
ただ単に「試験問題をExcelで配信したい」ってだけなんですよ。
問題の作り方私大では採点も楽になるかなぁ?と。
>エクセル以外の他のソフト内(IEとか)でエクセルを読み込んで操作可能なシステムで、エクセル以外のところで時間計測を行うシステムが良いと思う
これも出来たら それに越した事はないですね。
何かいい方法はないでしょうか?
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SSL・HTTPS パソコンのパスワードについて 6 2022/04/08 09:21
- PDF ワードで作った文書のPDF化 5 2023/04/10 16:56
- ソフトウェア パソコンの買い替え時、マイクロソフトでアカウントの変更(?)は? 2 2022/05/13 02:59
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/22 11:43
- iPhone(アイフォーン) 自分のせいで、彼氏のスマホのデータが消えました。 彼氏のスマホのデータが、私のせいで消えました。 事 2 2023/05/14 23:22
- Excel(エクセル) ExcelのFSO(ファイルシステムオブジェクト)について学びたいのですが。。。 5 2022/12/15 18:06
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- その他(悩み相談・人生相談) 大至急!困っております。 LINE clothと言うサイトの7日間無料お試し期間に申し込んだのですが 2 2022/08/30 04:35
- 小学校 至急、小6、運動会スタッフの立候補しました。意気込みを書いた文章に何かアドバイス頂けたら…! 4 2022/09/07 22:36
- Firefox(ファイヤーフォックス) ファイヤーフォックスのタブの復元 1 2023/06/18 23:26
このQ&Aを見た人はこんなQ&Aも見ています
-
それもChatGPT!?と驚いた使用方法を教えてください
仕事やプライベートでも利用が浸透してきたChatGPTですが、こんなときに使うの!!?とびっくりしたり、これは画期的な有効活用だ!とうなった事例があれば教えてください!
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
コーピングについて教えてください
皆さんはストレスを感じたとき、どのような方法や手段、テクニックで対処していますか?
-
今から楽しみな予定はありますか?
いよいよ2025年が始まりました。皆さんには、今から楽しみにしている予定はありますか?
-
Excelで一定時間が経ったらメッセージを出したい
Excel(エクセル)
-
VBA=一定時間エクセルの入力操作がない場合、自動的にそのブックを閉じたい
Windows Vista・XP
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルを共有するとPCによっ...
-
Excelの警告について
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
WorkBooksをオープンさせずにシ...
-
Excelファイルをダブルクリック...
-
Excelでブックの共有を掛けると...
-
Excel(2010)のフィルターが保...
-
ブックの保護ができないんです...
-
エクセルにおける,「ブック」...
-
Excelで複数ブックの同一セルに...
-
エクセルファイルを開かずにpdf...
-
VBA:ワークブックを変数でActi...
-
エクセル 複数のブックを一度...
-
同じフォルダへのハイパーリン...
-
フォルダ内の複数ファイルから...
-
ブックのピボットを別ブックに...
-
エクセルでウィンドウの枠固定...
-
【マクロ】【VBA】同じフォルダ...
-
エクセルVBAでブックを相対パス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
エクセルを共有するとPCによっ...
-
エクセルの関数 ENTERを押...
-
VBAでブックを非表示で開いて処...
-
Excelファイルをダブルクリック...
-
WorkBooksをオープンさせずにシ...
-
エクセルファイルを開かずにpdf...
-
Excelでブックの共有を掛けると...
-
Excelで複数ブックの同一セルに...
-
同じフォルダへのハイパーリン...
-
エクセルで参照しているデータ...
-
Excel(2010)のフィルターが保...
-
フォルダ内の複数ファイルから...
-
印刷しようとすると強制終了に...
-
ブックのピボットを別ブックに...
-
フォルダ内の複数ファイルから...
-
エクセルで「ディスクがいっぱ...
-
エクセルでウィンドウの枠固定...
-
エクセルファイルをオープンし...
-
エクセルにおける,「ブック」...
おすすめ情報