3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DDEオプション変えてもExcelブックを読み取り専用で開けなかったので、いろいろ調べて解決したお話

Last updated at Posted at 2018-03-19

経緯とか

環境
Windows 10
Office 2016

よくある「読み取り専用で開く」を有効化したかった。

でもぐぐったらよく出てくる、DDEオプションを修正する方法ではうまく行かなかったぷーん

いろいろ調べて解決できたので残しておこうと思います
環境(orバージョン)的なものなのか、過去の自分がやらかしただけなのかはわからないですが、同じような現象で悩んでる人の参考になれば幸いです

# 記事内では .xlsx のみを記載してますが、 .xls とか .xlsm とか、その辺も同様に有効化させたいときにはいい感じに読み替えてください。

TL;DR

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly]
@="読み取り専用で開く(&R)"
"Extended"=-

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly\command]
@="\"C:\\hoge\\foo bar\\EXCEL.EXE\" /r \"%1\""

いつものやつ(?)

Shiftキー押さなくてもコンテキストメニューに出したい

メニューにだす
[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly]
@="読み取り専用で開く(&R)"
"Extended"=-

読み取り専用でちゃんと開くようにDDEコマンドを修正

これでROMれるはず
[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly\ddeexec]
@="[open(\"%1\",,1,,,,,,,,,,,,1,,1)]"

かんぺき。

……じゃない。普通に開いちゃうじゃん。なんで!

そもそもDDEが使われてなかった

いろいろ調べてみて、レジストリでのファイルの開き方のたどり方を勉強してみた。

.xlsx でのファイルを開く際のコマンドを見てみたら、

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly\command]
@="\"C:\\hoge\\foo bar\\EXCEL.EXE\" /h \"%1\""

DDE使われてないじゃん!1
# DDEを使うときは、 EXCEL.EXE/dde オプションを指定するらしいです。

/h オプションってなんだろう……載ってないんだけど……

というわけで、ここの EXCEL.EXE に対して /r のオプションを指定。
ついでによくわからない /h オプションも削除。

これでOK
[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly\command]
@="\"C:\\hoge\\foo bar\\EXCEL.EXE\" /r \"%1\""

(開発がrとhをtypoしたとかそういうオチなのかなこれ)

無事しっかり読み取り専用で開けるようになりました。
めでたしめでたし。


ちなみに、

[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\OpenAsReadOnly\ddeexec]
@="[open(\"%1\",,1,,,,,,,,,,,,1,,1)]"

↑これは削除してしまっても大丈夫です。


  1. Windows10から?こうなってるのか、自分がよくわからないまま別のところで調べてたときに直しちゃったのかは謎……わかる方ぜひ教えてください。

3
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?