[[20141030131418]] 『ブックを強制的に閉じる方法』(やまびこ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ブックを強制的に閉じる方法』(やまびこ)

ほかのエクセルファイルから別のエクセルファイルへハイパーリンクで閲覧していますが
ファイルを終了しようとすると”変更を保存しますか”というメッセージがでますが
ハイパーリンク元も閲覧先もシートにロックかけているので内容は変わっていません
×(クローズ)ですぐに終了できるようにする方法を教えてください

またシートセルからエクセルを終了させることは可能でしょうか? 

< 使用 Excel:Excel2007、使用 OS:Windows7 >


ハイパーリンク利用では無理と思います。
セルに別ブックのフルパスを入力しておき、以下のマクロのように、ReadOnlyで開くのはいかがでしょう?

 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Value <> "" Then
        If Dir(Target.Value) <> "" Then
            Workbooks.Open Target.Value, False, True
        Else
            MsgBox "Openエラー"
        End If
        Cancel = True
    End If
End Sub

また、Excelを閉じるというのは、今開いているブックのExcel.exeですか? それとも、同時に開いている他のExcel.exeですか?
いずれにせよ、APIのTerminateProcess等を使うことになると思いますし、自分自身を殺せるかどうか判らないので、ちょっと難しいです。
(???) 2014/10/30(木) 15:25


連絡遅くなって済みません
同時に開いているExCEl.exeです。

ご教授ただいたマクロですがこれはハイパーリンクを外さないとできないのでしょうか

どのような作業をハイパーリンクで行っているかと言いますと
違うエクセルファイルのセルから(123)から別のエクセルファイルのセル(123)に移動しております
移動した後のファイルクローズしていますがクローズのときに質問の内容の表示が出ますので強制終了を
したいという希望ですが 無理でしょうか

(やまびこ) 2014/11/03(月) 10:27


ハイパーリンクを貼ったセルを左クリックすると通常の動作ですが、上記コードは右クリックで動作するので、
ハイパーリンクを外さなくとも使えます。

リードオンリーで開くことで、開く際の確認や保存時確認の必要がなくなるという発想ですが、試しましたか?

他Excel.exeを殺すのは難しいと言いました。キーワードは与えていますので、これで判らないようならば諦めてください。
(???) 2014/11/04(火) 08:52


少し間が空きましたが質問再開いたします
上記のマクロはどう構築すればいいのでしょうか

セルに別ブックのフルパスを入力しておき、とはどう理解すればよろしいでしょうか
(やまびこ) 2014/11/17(月) 13:38


開きたいファイル名を、フルパスでセルに入力しといてください、としか説明しようがないのですが…。

「フルパス」は判りますか? C:\Users\ログイン名\Documents\Book1.xlsm のように、ファイルを示すパス全て記述することです。

なお、上記マクロ例は、シートを対象にしたイベントへの記述なので、標準モジュール(Module1等)ではなく、シートモジュール(Sheet1等)に貼ってください。
(???) 2014/11/17(月) 14:01


ド素人の質問です
1 1つのブックを新たに作成することですよね
2 フルパスは1から目的のブックに移動するために新たに作成したブックのシートのセルにということですか
3 マクロは新たに作成したブックのシートに記述でしょうか目的のブックに記述でしょうか
私の理解した内容ですと移動用のブックから目的のブックで処理してから移動用ブックに戻るとなるとマクロは移動用のブックに記述でよろしいでしょうか 
(やまびこ) 2014/11/18(火) 08:48

現在、ハイパーリンクを張っている移動元ブックをコピーしておき、移動元ブックのシートモジュールに直接貼ってみてください。
なお、マクロなしでxlsx形式だった場合、マクロ実行できるよう、xlsm形式で保存し直してください。
(新たなブックを作るような指示は全くしていませんが、新規ブックで試してみて、うまくいったら元ブックを修正、でも構いません)

ハイパーリンクをどのように作成したのか不明ですが、セルにフルパス記述すると、自動的にリンクが作成されます。
この状態であれば、既にセルにフルパスが入っているはずなので、そのまま右クリックで動作します。
(???) 2014/11/18(火) 09:58


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.