Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13074 / 13644 ツリー ←次へ | 前へ→

【7077】コピーをさせないためには。 初心者 03/8/21(木) 21:37 質問
【7084】Re:コピーをさせないためには。 INA 03/8/22(金) 9:11 回答
【7091】Re:コピーをさせないためには。 SYOSHINSYA 03/8/22(金) 13:15 質問
【7092】Re:コピーをさせないためには。 INA 03/8/22(金) 14:26 回答
【7095】Re:コピーをさせないためには。 SYOSHINSYA 03/8/22(金) 15:49 質問
【7096】Re:コピーをさせないためには。 INA 03/8/22(金) 15:57 回答
【7098】Re:コピーをさせないためには。 INA 03/8/22(金) 16:12 回答
【7106】Re:コピーをさせないためには。 SYOSHINSYA 03/8/22(金) 17:27 お礼
【7110】Re:コピーをさせないためには。 SYOSHINSYA 03/8/22(金) 20:04 質問
【7112】Re:コピーをさせないためには。 INA 03/8/22(金) 21:31 回答
【7122】Re:コピーをさせないためには。 SYOSHINSYA 03/8/23(土) 11:31 質問
【7124】Re:コピーをさせないためには。 よろずや 03/8/23(土) 12:15 発言
【7125】Re:コピーをさせないためには。 SYOSHINSYA 03/8/23(土) 13:28 発言
【7128】Re:コピーをさせないためには。 よろずや 03/8/23(土) 13:54 発言
【7174】Re:コピーをさせないためには。 SYOSHINSYA 03/8/25(月) 14:31 発言
【7175】Re:コピーをさせないためには。 INA 03/8/25(月) 14:59 回答
【7177】Re:コピーをさせないためには。 SYOSHINSYA 03/8/25(月) 15:46 お礼
【7126】Re:コピーをさせないためには。 INA 03/8/23(土) 13:46 回答
【7127】Re:コピーをさせないためには。 INA 03/8/23(土) 13:51 回答
【7129】Re:コピーをさせないためには。 INA 03/8/23(土) 13:54 回答
【7130】Re:コピーをさせないためには。 INA 03/8/23(土) 13:58 回答
【7164】Re:コピーをさせないためには。 SYOSHINSYA 03/8/25(月) 10:09 お礼

【7077】コピーをさせないためには。
質問  初心者  - 03/8/21(木) 21:37 -

引用なし
パスワード
   Excelでコピーが出来ないようなマクロを作りたいのですが、なかなかうまくいきません。誰かわかる人がいたら,教えて下さい.

Sub macroTest()
 Dim a As Range
 Set a=(Workbooks(1).Worksheets(Sheet1).Range("A1:Z100")
 Select Case a.CutCopyMode
 Case a=CutCopyMode
  MsgBox "Please do not copy from this sheet"
   If vbOK ThenCutCopyMode=False
 Case Workbooks(1)=CutCopyMode
  Application.CutCopyMode=False
 Case Else
  Workbooks(1).Activate
 End Select
End Sub

【7084】Re:コピーをさせないためには。
回答  INA  - 03/8/22(金) 9:11 -

引用なし
パスワード
   コピーを禁止したい範囲はありますか?
またコピー禁止の目的はなんでしょうか?

Excelシート上だけで、かつセルを選択してコピーであれば、
以下の方法で多少は制限できますが、
ツールバーでセル値をコピーされたら制限できません。

シートがアクティブでなくなったとき
Private Sub Worksheet_Deactivate()  
  Application.CutCopyMode = False  
End Sub

選択範囲が変更されたとき
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Application.CutCopyMode = False  
End Sub

【7091】Re:コピーをさせないためには。
質問  SYOSHINSYA  - 03/8/22(金) 13:15 -

引用なし
パスワード
   AROGATOU GOZAIMASU!
MOUHITOTSU KIKITAINODESUGA EXCEL DE FILE WO HIRAITATOKINI "Disable Macro" TO "Enable Macro" TOYUUNOGA ARIMASUYONE? SOKODE "Disable Macro" WO ERABARETEMO COPY DEKINAIYOUNISURUNIWA DOUSHITARAIIDESYOUKA?

SUMIMASEN, IMA JIBUN NO PC KOWARETERUMONODE NIHONGOGA KAKEMASEN...
▼INA さん:
>コピーを禁止したい範囲はありますか?
>またコピー禁止の目的はなんでしょうか?
>
>Excelシート上だけで、かつセルを選択してコピーであれば、
>以下の方法で多少は制限できますが、
>ツールバーでセル値をコピーされたら制限できません。

【7092】Re:コピーをさせないためには。
回答  INA  - 03/8/22(金) 14:26 -

引用なし
パスワード
   マクロを使う以上、マクロを無効にされたらどうしようもありません。
マクロを無効にしたら、シートが見れないようにする等の
別の方法しかないと思います。

しかし読みづらい・・・・(>_<;)

【7095】Re:コピーをさせないためには。
質問  SYOSHINSYA  - 03/8/22(金) 15:49 -

引用なし
パスワード
   ▼INA さん:
>マクロを使う以上、マクロを無効にされたらどうしようもありません。
>マクロを無効にしたら、シートが見れないようにする等の
>別の方法しかないと思います。
>
>しかし読みづらい・・・・(>_<;)

SUMIMASEN YOMIZURAKUTE...
TOKORODE SONO MACRO WO MUKOUNINATTATOKI NI NANIKASURUTAMENIWA DOUSHITARAIIDESHYOUKA? TABITABI MOUSHIWAKEARIMASEN...

【7096】Re:コピーをさせないためには。
回答  INA  - 03/8/22(金) 15:57 -

引用なし
パスワード
   シートを追加する際に、「Excel 4.0 マクロ」のシートを追加して下さい。
このシートはマクロが有効でないと表示されません。
(ctrl + F11 でも出来ます。)

ただし、通常のシートと違うので使えるか分かりませんが・・・

【7098】Re:コピーをさせないためには。
回答  INA  - 03/8/22(金) 16:12 -

引用なし
パスワード
   もしくは、見せたくないシートを非表示にして、
ブックの保護を掛けて、
マクロ実行時にブックの保護を解除して、
シートを再表示させるとか・・・

Visibleプロパティを使って、以下のようにしても良いかと思います。
thisworkbookモジュールに記述して下さい。

Private Sub Workbook_BeforeClose(Cancel As Boolean)

  Dim i As Worksheet
  For Each i In Sheets
    If Not i.Name = "Sheet1" Then
      i.Visible = xlSheetVeryHidden
    End If
  Next i
  
  Me.Save

End Sub

Private Sub Workbook_Open()

  Dim i As Worksheet
  For Each i In Me.Worksheets
    i.Visible = xlSheetVisible
  Next i

End Sub

【7106】Re:コピーをさせないためには。
お礼  SYOSHINSYA  - 03/8/22(金) 17:27 -

引用なし
パスワード
   ▼INA さん:
>もしくは、見せたくないシートを非表示にして、
>ブックの保護を掛けて、
>マクロ実行時にブックの保護を解除して、
>シートを再表示させるとか・・・
>
>Visibleプロパティを使って、以下のようにしても良いかと思います。
>thisworkbookモジュールに記述して下さい。

ARIGATOUGOZAIMASU SASSOKU YATTEMIMASU!

【7110】Re:コピーをさせないためには。
質問  SYOSHINSYA  - 03/8/22(金) 20:04 -

引用なし
パスワード
   ▼INA さん:
>もしくは、見せたくないシートを非表示にして、
>ブックの保護を掛けて、
>マクロ実行時にブックの保護を解除して、
>シートを再表示させるとか・・・
>
>Visibleプロパティを使って、以下のようにしても良いかと思います。
>thisworkbookモジュールに記述して下さい。
>
>Private Sub Workbook_BeforeClose(Cancel As Boolean)
>
>  Dim i As Worksheet
>  For Each i In Sheets
>    If Not i.Name = "Sheet1" Then
>      i.Visible = xlSheetVeryHidden
>    End If
>  Next i
>  
>  Me.Save
>
>End Sub
>
>Private Sub Workbook_Open()
>
>  Dim i As Worksheet
>  For Each i In Me.Worksheets
>    i.Visible = xlSheetVisible
>  Next i
>
>End Sub

KONO MACRO WO TAMESHITEMITANDESUGA,
"Disable macro" SOSHITE "Display" SONOATONI "Click Yas"
DE MATA COPY DEKITESHIMAIMASHITA.
KOKODE MACRO WO TUKAWANAITO GAMEN WO HYOUJI DEKINAIYOUNIHA DEKINAINODESYOUKA?
TABITABI SHITUMON BAKARISHITE, MOUSHIWAKEARIMASEN
MOSHI YOROSHIKEREBA MATA OSHIETEKUDASAI.

【7112】Re:コピーをさせないためには。
回答  INA  - 03/8/22(金) 21:31 -

引用なし
パスワード
   掲載したマクロコードは、ブックを閉じる際に、
"Sheet1"以外のシートを非表示にして終了します。
次にファイルを開く際に、マクロを有効にしないと
非表示になったシートは表示されませんので、
"Sheet1"しか見えなくなります。
ですので、"Sheet1"はダミーシートのような扱いにすれば、
マクロを有効にしない限り、目的のシートは表示されなくなるのです。

【7122】Re:コピーをさせないためには。
質問  SYOSHINSYA  - 03/8/23(土) 11:31 -

引用なし
パスワード
   HENJI GA OKURETE SUMIMASEN.
HONTO KANSHA SHITEORIMASU.
ATUKAMASHII YOUDESUGA, MOUHITOTUDAKE KIKASETEKUDASAI.
IZEN OSHIETE ITADAITA Macro NANDESUGA HOKANO Excel File NI TAISHITEMO Paste DEKINAIYOUNI SURUTAMENIHA DOUSHITARAIINODESHOUKA?

Private Sub Worksheet_Deactivate()
  Application.CutCopyMode = False
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Application.CutCopyMode = False
End Sub

YOMOZURAKUTE MOUSHIWAKENAIDESU...

【7124】Re:コピーをさせないためには。
発言  よろずや  - 03/8/23(土) 12:15 -

引用なし
パスワード
   そこまでコピーにこだわる目的はなんでしょうか?
どうやったって、デジカメにはかなわないんですけど...

【7125】Re:コピーをさせないためには。
発言  SYOSHINSYA  - 03/8/23(土) 13:28 -

引用なし
パスワード
   ▼よろずや さん:
>そこまでコピーにこだわる目的はなんでしょうか?
>どうやったって、デジカメにはかなわないんですけど...

Copy NI KODAWARU RIYUU DESUKA?
KAISHA NO SHORUI NO RANYOU WO FUSEGU TAMEDESUNE.
HONTOUHA JIBUN DE TUKURETARA IINDESUKEDO MUZUKASHII DESUYONE...

【7126】Re:コピーをさせないためには。
回答  INA  - 03/8/23(土) 13:46 -

引用なし
パスワード
   ctrl + c を無効にしても、編集メニューからコピーコマンドは実行できますし
編集メニューからコピーコマンドを消しても、手動で追加することはできます。
他のアプリなどにもコピーを制限するのであれば、
クリップボードに記憶できないようにするしかありません。

コピーを実行したときに、クリップボードをクリア出来ればよいのでしょうが
コピーの際にイベントが発生しないので、難しいでしょう。(不可能かな・・)

コピーを制限する目的ですが、どの範囲のどのようなデータを
制限したいのでしょうか?
Excelの使い方自体を検討した方が簡単かもしれません。
たとえばイメージで表示するとか、ユーザーフォームで表示するとか・・・

【7127】Re:コピーをさせないためには。
回答  INA  - 03/8/23(土) 13:51 -

引用なし
パスワード
   ima Omoituita!!

適用したいシートモジュールにコピペして試して下さい。
ブック全体の場合は、イベントを変更して、
thisworkbookモジュールに記述して下さい。

Private Sub Worksheet_Deactivate()
 Range("A1").Copy
 Application.CutCopyMode = False
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Range("A1").Copy
 Application.CutCopyMode = False
End Sub

なんで気が付かなかったのだろう・・・

【7128】Re:コピーをさせないためには。
発言  よろずや  - 03/8/23(土) 13:54 -

引用なし
パスワード
   ▼SYOSHINSYA さん:
>Copy NI KODAWARU RIYUU DESUKA?
>KAISHA NO SHORUI NO RANYOU WO FUSEGU TAMEDESUNE.
>HONTOUHA JIBUN DE TUKURETARA IINDESUKEDO MUZUKASHII DESUYONE...
コピーには善意と悪意があると思います。
(1)コピーして作るもんだと思ってた...
(2)書類を偽造して...
マクロをいくら工夫しても悪意に対しては無力です。
善意に対しては、教育とソフトの使いやすさで対処するのがよろしいかと...
で、コピーには
(A)ファイルコピー(エクスプローラ等)
(B)ブックコピー(エクセルの機能)
(C)シートコピー
(D)範囲コピー
(E)セルコピー
(F)セルの数式コピー
(G)画像コピー(エクセルの機能)
(H)画面コピー(PrintScreen等)
(I)画面コピー(キャプチャーソフト等)
(J)画面コピー(デジカメ)
と、いろいろ有りますけど、どこまでが対象ですか?

【7129】Re:コピーをさせないためには。
回答  INA  - 03/8/23(土) 13:54 -

引用なし
パスワード
   他のブックにはダメだ・・・考え直します。m(_ _)m

【7130】Re:コピーをさせないためには。
回答  INA  - 03/8/23(土) 13:58 -

引用なし
パスワード
   シートタブからシートごとコピーされたら
どうしようもない事に気づきました。
もうお手上げかな・・・すみません(-_-;)

【7164】Re:コピーをさせないためには。
お礼  SYOSHINSYA  - 03/8/25(月) 10:09 -

引用なし
パスワード
   ▼INA さん:
>シートタブからシートごとコピーされたら
>どうしようもない事に気づきました。
>もうお手上げかな・・・すみません(-_-;)

HENJI OKURETE SUMIMASEN...

IROIROKANGAETEITADAITE HONTOUNI KANSHA SHITEIMASU.
MOSI NANIKA OMOITUITOKINIDEMO MATA OSHIETEKUDASAI.
ARIGATOUGOZAIMASHITA.

【7174】Re:コピーをさせないためには。
発言  SYOSHINSYA  - 03/8/25(月) 14:31 -

引用なし
パスワード
   To:よろずや San
>(2)書類を偽造して...
>マクロをいくら工夫しても悪意に対しては無力です。
>善意に対しては、教育とソフトの使いやすさで対処するのがよろしいかと...
>で、コピーには
>(A)ファイルコピー(エクスプローラ等)
>(B)ブックコピー(エクセルの機能)
>(C)シートコピー
>(D)範囲コピー
>(E)セルコピー
>(F)セルの数式コピー
>(G)画像コピー(エクセルの機能)
>(H)画面コピー(PrintScreen等)
>(I)画面コピー(キャプチャーソフト等)
>(J)画面コピー(デジカメ)
>と、いろいろ有りますけど、どこまでが対象ですか?

(D) & (E) DESU.
SEIKAKUNI IEBA, Copy DENAKUTEMO SONO TAISHOU TONARU Cell GA SENTAKU DEKINAIYOUNI NATTEMO IINDESU.
DEGICAME NO KEN DESUGA Excel NIHA Print Layout TO Display Layout GA ARIMASUYONE, SORENIYOTTE HENKOU SARETAKUNAI BUBUN TO HENKOU SHITEMOII BUBUN NI "Screen" MOSHIKUHA "Print Layout" NI ZUREGADETESHIMAUNDESU.
DAKARA Copy MOSHIKUHA Cut GADEKINAIYOUNI NAREBA TO KANGAETANODESUGA...

【7175】Re:コピーをさせないためには。
回答  INA  - 03/8/25(月) 14:59 -

引用なし
パスワード
   これでは?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'Range ("B1")を選択不能
If Target.Address = ActiveSheet.Range("B1").Address Then
  MsgBox "B1 は選択できません。"
  Range("A1").Select
End If

End Sub

【7177】Re:コピーをさせないためには。
お礼  SYOSHINSYA  - 03/8/25(月) 15:46 -

引用なし
パスワード
   ▼INA さん:
>これでは?

ARIGATOUGOZAIMASU!!!
DEKIMASHITA!!!
HONTOUNI ARIGATOUGOZAIMASHITA!!!!!

13074 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free