
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SNSのIDやら、GメールやYahooア...
-
verify@twitter.comから、メー...
-
WPS office のシリアル番号の確...
-
新規にAOLメールを作りたい...
-
AOL Mailにサインインできない!
-
メールを返信したら、英語のメ...
-
インスタの捨て垢で友達のスト...
-
インスタの乗っ取り解除につい...
-
LINE TCBというところからLINE...
-
Excelのセルにユーザー名...
-
Steamのアカウントにログインで...
-
YouTubeが毎回ログインしないと...
-
iPhoneのiCloudメールなよです...
-
Instagramからこんなメールがき...
-
インスタのアカウントの消し方...
-
カカオトークを退会せずにアン...
-
yahoo! Japan IDの新規取得がで...
-
カカオで退会せずに、アプリだ...
-
メールアドレス 上バーの入力...
-
パソコンがパスワードを要求し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
最近、何かが違うと思った人 い...
-
verify@twitter.comから、メー...
-
SNSで電話番号がいる
-
Excelのセルにユーザー名...
-
Steamのアカウントにログインで...
-
インスタの乗っ取り解除につい...
-
メールを返信したら、英語のメ...
-
Twitter verify@twitter.comに...
-
マッチングアプリに勝手に登録...
-
CSVファイルを添付するときにパ...
-
pixivで新規登録しようと思い、...
-
不正ログインされました。対応...
-
Twitterでログインしている端末...
-
LINE TCBというところからLINE...
-
メールエラー
-
runas実行した時にきかれるパス...
-
新規にAOLメールを作りたい...
-
「@」(アットマーク)の無いメ...
-
カカオで退会せずに、アプリだ...
-
CDにパスワードをかける
おすすめ情報