No.3ベストアンサー
- 回答日時:
こんばんは。
>1つのファイルで、Aさんはsheet1は見れるけど、その他を見れない。
> Bさんはsheet2は見れるけど、sheet1は見れない。
基本的には、出来ないと考えたほうがよいと思います。マクロ自体に依存する方法だと、マクロを不可にした場合のことも考えなくてはなりません。ただし、クラッカーの使用は、論外だから、考慮には入れません。
ブックにシートをひとつ入れておいて、それぞれのブックに対してパスワードをつけて配布したほうが安全で確実だと思います。
そうでなければ、ひとつのブックで、パスワードをつけて呼び出しをして、再び、開けるときに、パスワードを聞くようなマクロを作って、元のブックには基本的には、ブックの呼び出しのマクロだけで、他にも何も入れないようにすることですね。(ただし、後者の方法は、掲示板では非公開です。)
No.2
- 回答日時:
・sheet1は見れるけど、sheet2はパスワードかなんかがないと見れないという風にはできないでしょうか?
こたえ:各シートの表示/非表示は、Visibleプロパティの設定により切り替えることができます。(VBAで可能です。)
Trueでシートを表示、Falseでシートを非表示にします。なお、全てのシート
を非表示にすることはできません。
構文 Object.Visible 取得/設定
設定項目 内容
Object Worksheet,Chart,Worksheetsオブジェクトコレクション,
Sheetsコレクションオブジェクト,Chartsコレクションオブジェクト
次のサンプル1はVisibleプロパティの値を反転させることで、シートの表示と
非表示を切り替えます。
●サンプル1●
Sub VisibleSamp1()
With Worksheets(1) '---1枚目のシートを対象
.Visible = Not .Visible '---表示/非表示を切り替え
End With
End Sub
TrueとFalseの値を使用するプロパティでは、このような記述で値の切り替えが
できるので、覚えておくと便利です。
また、定数xlVeryHiddenを設定した場合には、マクロかVBEのプロパティウィン
ドウでVisibleプロパティの値を変更しない限り、ユーザーの操作でシートを再表
示することはできなくなります。
・逆にどのsheetも個別のパスワードがないと開けない。という風にはできないでしょうか?
こたえ:Bookにパスワードを設定すれば、同様のことは、出来ます。
例: VBA が、解らないと無理でしょう。
'Excelファイルにパスワードを設定する
Dim objXL
Dim f
Dim m
Dim ws
Dim sPassword
'=======================================
' パスワード
'=======================================
sPassword = "7777777"
If WScript.Arguments.Count<1 Then
m="Excelファイルをドロップするとパスワード『" & sPassword & "』を設定します"
MsgBox m
WScript.Quit
End If
Set objXL=CreateObject("Excel.Application")
'objXL.Visible=False
objXL.DisplayAlerts=False
' ドロップされたファイル数分ループ
For Each f In WScript.Arguments
'ファイルを開く
objXL.WorkBooks.Open f,,,,sPassword
'ファイルをパスワードをつけて保存
objXL.ActiveWorkBook.SaveAs f,,sPassword
'ファイルを閉じる
objXL.ActiveWorkBook.Close
'
m="ファイルにパスワード『" & sPassword & "』を設定しました"
MsgBox m
Next
objXL.Quit
WScript.Quit
'Excelファイルのパスワードを解除
Dim objXL
Dim f
Dim m
Dim ws
Dim sPassword
'=======================================
' 解除するパスワード
'=======================================
sPassword = "7777777"
If WScript.Arguments.Count<1 Then
m="Excelファイルをドロップするとパスワード『" & sPassword & "』を解除します"
MsgBox m
WScript.Quit
End If
Set objXL=CreateObject("Excel.Application")
'objXL.Visible=False
objXL.DisplayAlerts=False
' ドロップされたファイル数分ループ
For Each f In WScript.Arguments
'ファイルを開く
objXL.WorkBooks.Open f,,,,sPassword
'ファイルをパスワードをつけて保存
objXL.ActiveWorkBook.SaveAs f,,""
'ファイルを閉じる
objXL.ActiveWorkBook.Close
'
m="ファイルのパスワード『" & sPassword & "』を解除しました"
MsgBox m
Next
objXL.Quit
WScript.Quit
1つのファイルで、Aさんはsheet1は見れるけど、その他を見れない。
Bさんはsheet2は見れるけど、sheet1は見れない。
といった風にという意味です。
☆☆☆
VBAで、Aさん、Bさんのパスワードを設定して置き(難しいことは、ここでは省略します。)
Aさん、Bさんにそれぞれのパスワードを教えておけば、可能でしょうね。
でも、こんな面倒なことを考えるより
見られたくないシートを削除して、それぞれに配布したらどうでしょうか??。
見られたくないシートを選択して、書式→シート→表示しない で非表示にして、Bookの保護をする 方法もあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) VBA Userform転記のみ編集可 1 2023/06/29 11:03
- スーパー・コンビニ 「コンビニで エクセルをプリントアウト」することができますか? 8 2022/06/16 15:54
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Excel(エクセル) excel macro を、personal.xlsb に作った。excel sheet 開くと、 2 2023/02/21 12:06
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Visual Basic(VBA) VBA 別sheetからの転記なのですが 2 2023/05/22 15:55
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
LINE TCBというところからLINE...
-
大学定期試験過去問サイト「過...
-
steam版 apexのログアウト方法...
-
インスタグラムでブロックされ...
-
カカオで退会せずに、アプリだ...
-
メールアドレス 上バーの入力...
-
インスタの捨て垢で友達のスト...
-
インスタのアイコンについてるN...
-
email.ne.jpのメールアドレスを...
-
Instagramからこんなメールがき...
-
解約済みの iPadについて 解約...
-
星の王子さまというアプリで、 ...
-
Excelのセルにユーザー名...
-
ビーリアルのユーザー名を変え...
-
pixivで新規登録しようと思い、...
-
インスタのアカウントの消し方...
-
YouTubeが毎回ログインしないと...
-
ログアウトのないサイトからロ...
-
メールをパスワードつきで送る方法
-
メールアドレスを人に教えるの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルにユーザー名...
-
メールをパスワードつきで送る方法
-
LINE TCBというところからLINE...
-
メールアドレス 上バーの入力...
-
大学定期試験過去問サイト「過...
-
メールエラー
-
メールのマナー編
-
メールアドレスで上付きのハイフン
-
インスタの捨て垢で友達のスト...
-
インスタのアイコンについてるN...
-
メールを返信したら、英語のメ...
-
steam版 apexのログアウト方法...
-
ビーリアルのユーザー名を変え...
-
メールアドレスから個人を特定...
-
携帯電話を解約してもSMSの受信...
-
「@」(アットマーク)の無いメ...
-
YouTubeが毎回ログインしないと...
-
解約済みの iPadについて 解約...
-
カカオで退会せずに、アプリだ...
-
CSVファイルを添付するときにパ...
おすすめ情報