[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『UpdateFromFileで再起動して書込可能にしたい。』(setcom)
自分のブックを保存して、再起動して、書き込み可能にしたいのですが。
.UpdateFromFileは、読み取り専用でなくては、機能しないので、
先に読み取り専用にして、.UpdateFromFileを実行しています。
しかし、再起動した時に、読み取り専用のままで起動して、しかも
auto_openは実行されないようです。(auto_openで、書込可能にすれば
良いと思い、下の様にしましたが、再起動した時に、auto_openは実行されません。)
Workbook_Openも起動しない。
auto_open自体が起動しないのは、それとして、他に手はあるでしょうか?
やはりシートチェンジ等のイベントに頼るしかありませんか?
Sub auto_open()
ThisWorkbook.ChangeFileAccess Mode:=xlReadWrite '書込可能 MsgBox "リスタートしました。" End Sub
Sub restart() 'リスタート
Application.DisplayAlerts = False '確認メッセージを表示しない。 ThisWorkbook.Save '保存する。 ThisWorkbook.ChangeFileAccess Mode:=xlReadOnly '読み取り専用 ThisWorkbook.UpdateFromFile '再起動 End Sub
< 使用 Excel:Excel2013、使用 OS:Windows7 >
Auto_Openの中身を別のプロシジャーにして、各々呼び出せばよいのではないでしょうか? ところで、なんで再読み込みする必要があるのですか? Auto_Opneで書込み可能として開くなら、いちいちUpdateFromFileで更新する必要ないと思うのですけど (稲葉) 2015/04/13(月) 12:28
の
>複写した後で一度ファイルを閉じて開きなおすか
が目的ですか? いろいろ考えますねえ!!
Ontimeメソッドでダミーのプロシジャーを指定して、保存して閉じてみては?
(ichinose@遅い昼食中) 2015/04/13(月) 13:48
Application.OnTime Now + TimeValue("00:00:01"), "auto_open" Application.DisplayAlerts = False '確認メッセージを表示しない。 ThisWorkbook.Save ThisWorkbook.Close End Sub 稲葉さん、 ichinoseさんがおっしゃるとおり、[[20150410130248]] で、ヒントをもらったのですが、 私には難し過ぎたので、一度ブックを保存して、再起動する方法を選択した次第です。 どうも有り難う御座いました。 (setcom) 2015/04/14(火) 04:23
いまさらですが、納得です。 ちなみに、こうしたらどうですか? という提案でした Sub Auto_Opne() Call BookOpenIni End Sub Sub BookOpenIni() ThisWorkbook.ChangeFileAccess Mode:=xlReadWrite '書込可能 MsgBox "リスタートしました。" End Sub Sub restart() 'リスタート '(省略) Call BookOpenIni End Sub (稲葉) 2015/04/14(火) 18:08
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.