
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も見ています
-
[Excel VBA]イベントマクロ上でブック保護解除、再度ブック保護する方法
Excel(エクセル)
-
Exel 一部のセルにのみ、閲覧制限をかけたい
Visual Basic(VBA)
-
Excelで別シートを見られないようにしたい
Excel(エクセル)
-
-
4
エクセルシート毎の権限について
Excel(エクセル)
-
5
【Excel VBA】シート表示、非表示制御、及びマクロ実行時にパスワード設定する方法
Visual Basic(VBA)
-
6
エクセルで一部のシートを見れないようにしたい
Excel(エクセル)
-
7
Excelで[表1]にあって、[表2]にないものを抽出する関数
その他(Microsoft Office)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
セルの文字を「印刷時だけ非表示」にしたいです。
Excel(エクセル)
-
10
エクセルでマウスカーソルの形が十字のままになってしまう
Excel(エクセル)
-
11
ファイルのアクセス回数について
Access(アクセス)
-
12
EXCELファイルに誰がアクセスしたかを見たい
Access(アクセス)
-
13
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
14
Excel 行の連続データを列に参照したいんです・・・
Excel(エクセル)
-
15
エクセルで参照しているデータを常に最新の状態にしたい
Excel(エクセル)
-
16
シートを保護しても入力規則を使えるようにしたい
Excel(エクセル)
-
17
31:30:00が1900/1/1 7:30:0
その他(Microsoft Office)
-
18
取引先へ2名で訪問した際のお礼メールについて
ビジネスマナー・ビジネス文書
-
19
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
20
シート見出しの色を自動的に変更させたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで複数のシートを一度に「...
-
エクセルシートの見出しの文字...
-
エクセルでブック内の倍率がバ...
-
ワード差込ファイルで複数エク...
-
Nintendo Switch 2 キャリング...
-
ワークシートそのものの色を変...
-
【ExcelVBA】マクロの入ったシ...
-
特定のシートのみ再計算させな...
-
エクセルのファイルサイズが急...
-
エクセルでリンク貼り付けした...
-
EXCELの「シートの見出し」のフ...
-
エクセルで目次に自動でページ...
-
特定のシート名のシートのみ除...
-
ハイパーリンクでジャンプした...
-
Access VBAよりExcelのシート名...
-
エクセルで誤ってF11キーを押す...
-
Access2000 Export時にシート名...
-
エクセル 複数のシートから一覧...
-
エクセルのシートのタイトルバ...
-
複数のシートを1つのシートに統...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルシートの見出しの文字...
-
EXCELで複数のシートを一度に「...
-
エクセルでブック内の倍率がバ...
-
特定のシートのみ再計算させな...
-
【ExcelVBA】マクロの入ったシ...
-
ハイパーリンクでジャンプした...
-
EXCELの図形(テキストボックス)...
-
EXCELで存在しないシート...
-
エクセルで複数のシートに画像...
-
エクセル、特定のシートにパス...
-
エクセルのシー名を二段表示に...
-
ワークシートそのものの色を変...
-
Wordで差し込み印刷時に表示す...
-
Accessのテーブルを既存のExcel...
-
エクセルのファイルサイズが急...
-
エクセルの複数シートでのリン...
-
エクセルで、シートの名前を変...
-
エクセルの2つのシートを並び...
-
EXCELの「シートの見出し」のフ...
-
Excelでマクロ設定したが反映さ...
おすすめ情報