「ファイルロック (排他制御) 的なもの」の版間の差分
非推奨のタグを修正 |
SyntaxHighlightにcopyの追加 |
||
| (同じ利用者による、間の8版が非表示) | |||
| 1行目: | 1行目: | ||
このマクロは[https://www.haijin-boys.com/software/mery/mery-3-3-0#17 Mery Ver 3.3.2]で追加された「ファイルが外部で変更されたときに書き込みを禁止する」と同機能です。 | |||
== 概要 == | |||
Meryで開いた文書を、無理やり(!?) ファイルロックするマクロです。 | Meryで開いた文書を、無理やり(!?) ファイルロックするマクロです。 | ||
要は、Meryで文書を開いている間、その文書を他から弄られないようにします。 | 要は、Meryで文書を開いている間、その文書を他から弄られないようにします。 | ||
== | == 注意事項 == | ||
* マクロにて、文書を閉じる (Document.Close) 処理を行っている場合、そのマクロに手を加える必要がある。 | * マクロにて、文書を閉じる (Document.Close) 処理を行っている場合、そのマクロに手を加える必要がある。 | ||
** Utility\FileLock.vbs を非同期で呼び出し、少し待機する という処理を追加。 | ** Utility\FileLock.vbs を非同期で呼び出し、少し待機する という処理を追加。 | ||
* ファイルロック処理が、常にフラグ用ファイル有無を確認するという処理なので、文書をたくさん開くと、フォルダへのアクセスが頻発する。 | * ファイルロック処理が、常にフラグ用ファイル有無を確認するという処理なので、文書をたくさん開くと、フォルダへのアクセスが頻発する。 | ||
** フォルダへのアクセスを抑えたバージョンは、現状 | ** フォルダへのアクセスを抑えたバージョンは、現状 非公開(コードが長ったらしいので…)。 | ||
== 構成 == | == 構成 == | ||
| 31行目: | 34行目: | ||
== ソースコード == | == ソースコード == | ||
=== FileLock.vbs === | |||
Macros\Utility フォルダの中に置く。 | |||
<syntaxhighlight lang="vbscript" copy> | |||
<syntaxhighlight lang="vbscript"> | |||
'============================================================================== | '============================================================================== | ||
' ファイルロック (Mery用) | ' ファイルロック (Mery用) | ||
| 240行目: | 244行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== FileLock|Lock.vbs === | |||
<syntaxhighlight lang="vbscript"> | イベント登録を忘れずに。 | ||
<syntaxhighlight lang="vbscript" copy> | |||
#title = "文書をロック" | #title = "文書をロック" | ||
'------------------------------------------------------------------------------ | '------------------------------------------------------------------------------ | ||
| 266行目: | 272行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== FileLock|Unlock.vbs === | |||
<syntaxhighlight lang="vbscript"> | イベント登録を忘れずに。 | ||
<syntaxhighlight lang="vbscript" copy> | |||
#title = "文書をアンロック" | #title = "文書をアンロック" | ||
'------------------------------------------------------------------------------ | '------------------------------------------------------------------------------ | ||
| 294行目: | 302行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== FileLock|Unlock all.vbs === | |||
<syntaxhighlight lang="vbscript">#title = "文書を全アンロック" | <syntaxhighlight lang="vbscript" copy> | ||
#title = "文書を全アンロック" | |||
'------------------------------------------------------------------------------ | '------------------------------------------------------------------------------ | ||
' Summary | ファイルロックしてある文書をすべてアンロックする | ' Summary | ファイルロックしてある文書をすべてアンロックする | ||
| 315行目: | 324行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Close|Documents.vbs === | |||
<syntaxhighlight lang="vbscript"> | <syntaxhighlight lang="vbscript" copy> | ||
#title = "すべての文書を閉じる" | #title = "すべての文書を閉じる" | ||
'------------------------------------------------------------------------------ | '------------------------------------------------------------------------------ | ||
| 343行目: | 352行目: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Open|Again.vbs === | |||
<syntaxhighlight lang="vbscript"> | <syntaxhighlight lang="vbscript" copy> | ||
#title = "自動選択で読み直し" | #title = "自動選択で読み直し" | ||
'------------------------------------------------------------------------------ | '------------------------------------------------------------------------------ | ||
スポンサーリンク