Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Professional : Excel 2007)
メッセージ停止
投稿日時: 17/04/21 08:48:06
投稿者: サイタマ

ダブルクリックで開いた時、誰かが開いていると「読み取り専用、通知、キャンセル」のメッセージがでますこれを止めたい。他のファイルからのVBAでのファイルオープンは既に実施しています。ダブルクリックで開いた時の上記のメッセージを止める方法を教えて下さい。

回答
投稿日時: 17/04/21 12:09:02
投稿者: simple

こんにちは。
 
> ダブルクリックで開いた時の上記のメッセージを止める方法を教えて下さい。
その目標自体に問題はないですか?
というのは、
ダブルクリックで開いた時の動作を変えようと思えば、
そのブックになにかの仕掛けを入れる必要があるでしょう。
 
とすると、そのファイルを使う他人にも影響が及びます。
メッセージが出なくて問題はないでしょうか?
注意喚起があれば、書込専用のファイルに更新のための入力はしなかったといった
類の話はありませんか?
もともと必要だから警告を発していたわけですよね。
そのあたりの整理はどうなっているのでしょうか?
 
端的なコメントとしては、
> 他のファイルからのVBAでのファイルオープン
に留めるのがよい、というものです。

投稿日時: 17/04/21 15:55:48
投稿者: サイタマ

回答ありがとうございますsimpleさん
まず考え方は、開いた時ファイルが書き込みするファイルで使用していれば、使用者を表示してファイルを終了させる。です。
VBAで作りこみした自分のメッセージを表示したいのです。その時に現在使用しているネットワークユーザーIDを介し個人名を表示させるのようにVBAで作ります、その為エクセルのメッセージが邪魔になります。なので止めたいです。
又、別ファイルから開くとこまで大きくしたくない。単ファイルで簡単にやりたい。と言ってもネットワークユーザーIDから個人名の表示仕掛けは多少手間がかかりますが。宜しくお願いします。

回答
投稿日時: 17/04/21 18:38:24
投稿者: WinArrow
投稿者のウェブサイトに移動

当該ファイルを(エクスプローラ画面で)ダブルクリックして開いた問いは、
「更新」モードで開かれます。
 
ダブルクリックで開かないような・・・・または、開いても使えないような・・・
仕掛けを組み込めばよい。。と覆います。

回答
投稿日時: 17/04/21 19:47:21
投稿者: i-brown

ThisWorkbookに
 

Option Explicit

Private Sub Workbook_Open()
    Application.DisplayAlerts = False
    If Me.ReadOnly Then
        Me.Close
    End If
End Sub

 
を書いてみましたが、ダブルクリックしたときの警告はどうしようもないようです。
Excel起動 -> ファイルを開く -> 他の人が開いている警告 -> マクロの動作可否確認 -> Workbook_Open()
の順序になっているので、ファイルを開く前に読み込まれるアドインを使って、
アプリケーションイベントレベルで割り込めばなんとかなるかもしれませんが、
他のファイルにまで影響が及ぶので無意味だと思います。
 
simpleさんと同意見です。

投稿日時: 17/04/22 12:33:56
投稿者: サイタマ

皆さんのご協力ありがとうございました。
「読み取り専用、通知、キャンセル」のメッセージも表示し次に行くようにします。