[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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.