A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
非表示方式なら、すでに、
http://oshiete.goo.ne.jp/qa/10456549.html
で披露しました。こちらは、マクロを不可にしたら、中身は見えません。
しかし、こちらのご質問は、そのままでは、VBA内では不可能だと思っています。
Workbook_SheetActivate(ByVal Sh As Object)
では、開けた後に発生するものです。シートを開けさせない、つまりクリツクを帳消しにすることは不可能だと思います。
>シートの存在は下のべろ(シートタブ)で見えるが、そこをクリックするとパスワードを求められる、
これは、コントロール・ボタンの仕様です。シートタブに、一般的にはそのような機能はありません。先程、Excelの構造をResource Hacker で調べてみましたが、不慣れなせいか良く分かりません。そのものの機能は調べても見当たらないと思います。
>一度そのシートを離れれば戻るときにはまたパスワードを求められるのが理想的です。
マウスで動かしている分には、Excelは反応してくれますが、何もしないままですと、今回作ったものは閉じてしまいます。
全体のマクロは、ご興味がなければお見せすることはありませんが、とりあえず、そのイントロの部分だけを見せます。これはボタンのみです。これはシステムですから、一部のコードだけみても、雰囲気ぐらいで意味もありませんが、添付画像のようになります。
Sub AddButton() '①
'シート1以外のボタンを付ける
Dim y1 As Double, x1 As Double, x2 As Double, y2 As Double
Dim i As Long, j As Long
Application.Goto Worksheets(1).Range("A1"), True
y1 = ActiveWindow.UsableHeight / 2
With Worksheets("Sheet1")
For i = 2 To Worksheets.Count
x1 = 5 + (40 * j)
x2 = 40
y2 = 15
With .Buttons.Add(x1, y1, x2, y2)
.Caption = Worksheets(i).Name
.OnAction = "SheetsOpen"
.Placement = xlFreeFloating
End With
j = j + 1
Next
End With
End Sub
'--続く--
No.2
- 回答日時:
Workbook_SheetActivate(ByVal Sh As Object)
のイベントに記述すれば可能かと。
まず当該シートでない場合にはかならずシート名を
変数に記憶します。
当該シートの場合は、記憶した変数のシートに戻してから
パスワードの合致を確認してから表示すればよいのでは?
マクロ禁止されたら没ですけど・・・。
No.1
- 回答日時:
>シートの存在そのものは非表示にせず、シートの存在は下のべろ[シートタブ]で見えるが、そこをクリックするとパスワードを求められる、
ずっと調べてみましたが、少なくとも、ご希望の仕様はVBA内では、不可能だと思います。シートタブ属性のEXCEL7 Class にシートタブ・コントロールがあれば可能ですが、そのようなものはありません。
例えば、UserForm やホームシート(Sheet1)上で、ボタン・コントロールを設けたりするぐらいしか思いつきません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あるあるbotに投稿したけど採用されなかったあるある募集
あるあるbotに投稿したけど採用されなかったあるあるをこちらに投稿してください
-
[Excel VBA]イベントマクロ上でブック保護解除、再度ブック保護する方法
Excel(エクセル)
-
Exel 一部のセルにのみ、閲覧制限をかけたい
Visual Basic(VBA)
-
Excelで別シートを見られないようにしたい
Excel(エクセル)
-
-
4
Excel 一部データを隠す(見えないように保護)
Excel(エクセル)
-
5
エクセルで一部のシートを見れないようにしたい
Excel(エクセル)
-
6
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
7
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
8
IF関数で、時間を条件にしたい場合の式について
Access(アクセス)
-
9
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
10
エクセルで指定のセルのみ完全非表示にしたい。
Excel(エクセル)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
エクセルで、オブジェクトの選択を禁止する方法。
Excel(エクセル)
-
13
振り込み相手の口座名義はどこまで書けば振り込めるか?
銀行・ネットバンキング・信用金庫
-
14
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
15
Excelで[表1]にあって、[表2]にないものを抽出する関数
その他(Microsoft Office)
-
16
日付が未入力の際はゼロか、空白にしたい
その他(Microsoft Office)
-
17
31:30:00が1900/1/1 7:30:0
その他(Microsoft Office)
-
18
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
-
19
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
20
ExcelのVlookup関数の制限について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
ハイパーリンクでジャンプした...
-
エクセルでブック内の倍率がバ...
-
【ExcelVBA】マクロの入ったシ...
-
特定のシートのみ再計算させな...
-
エクセル、特定のシートにパス...
-
Accessのテーブルを既存のExcel...
-
エクセルで複数のシートに画像...
-
エクセルのシート連番の振り直し
-
エクセルVBAでエラー!
-
エクセルのシー名を二段表示に...
-
Wordで差し込み印刷時に表示す...
-
エクセルマクロでシート名を条...
-
エクセルでリンク貼り付けした...
-
エクセルの2つのシートを並び...
-
パワーポイントでスライドマス...
-
【Excel VBA】データ貼り付け先...
-
ワークシートそのものの色を変...
-
Excelでマクロ設定したが反映さ...
-
エクセルのシート名の変更がで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
ハイパーリンクでジャンプした...
-
エクセルでブック内の倍率がバ...
-
エクセルで複数のシートに画像...
-
特定のシートのみ再計算させな...
-
【ExcelVBA】マクロの入ったシ...
-
EXCELの図形(テキストボックス)...
-
エクセルのシート連番の振り直し
-
ワークシートそのものの色を変...
-
エクセルの2つのシートを並び...
-
エクセルのシー名を二段表示に...
-
エクセル、特定のシートにパス...
-
Accessのテーブルを既存のExcel...
-
Wordで差し込み印刷時に表示す...
-
EXCELで存在しないシート...
-
自分だけの辞書(データベース...
-
accessへエクセルの複数のシー...
-
Excelでマクロ設定したが反映さ...
-
エクセルの複数シートでのリン...
-
エクセル2003で、複数のシート...
おすすめ情報