ラベル Excel の投稿を表示しています。 すべての投稿を表示
ラベル Excel の投稿を表示しています。 すべての投稿を表示

2012/01/23

tips.Excelを読み取り専用で開く

Excelの読み取り専用で開くは、素直にやろうとすると一度Excelを起動して開くコマンドから読み取り専用で開かないといけない。

これだと、手間が多くて結局普通に開くことが多くなる。

でも実は、Excelファイル上の右クリックで「読み取り専用で開く」を追加することができる。

やり方は検索するとすぐ出てくるのだが、面倒なのでここに記載しようと思う。

検索でヒットしたやり方が記述されたサイト
http://civic.xrea.jp/2008/05/09/excel-readonly/

上記サイトでやり方が書いてあるけど、消えたら嫌なので自分の文章に変換して記載する。

エクスプローラのメニューから「ツール」→「フォルダオプション」を開く。
「ファイルの種類タブ」を開き、「拡張子」列で「XLS」を探す。
「XLS」を選択した状態で、「詳細設定」ボタンを押す。
図1 ファイルの種類-詳細設定
図1のような画面が開くので、「読み取り専用で開く」を選択して「編集」ボタンを押す。

図2 アクション編集
図2の画面が表示されるので、「アクションを実行するアプリケーション」の部分を以下のように設定する。
"C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE" /e
※ 「/h」を取り除くだけ。もちろんオフィスのインストール位置は各端末の設定のとおりに

DDEメッセージ欄を以下のように設定。
[open("%1",,True,,,,,,,,,,,,1,,1)]
※ Trueを追加するだけ

設定が完了したら、変更を保存して終了。

リンク先にも記載があるが、アクション欄の末尾に「(&R)」と設定するとショートカットが設定できる。

で、これで自分の端末では表示できたんだけど、リンク先にもあるとおり、設定した内容が強制的に書き換わっているので、レジストリから修正を行う。

HKEY_CLASSES_ROOT\Excel.Sheet.8\shell\OpenAsReadOnly\command
以下に、「アクションを実行するアプリケーション」に入力した内容が設定されているが、末尾に「%1」が付いているので取り除く。

これで右クリックから読み取り専用で開くことができる。

毎度探さなくてよくなったわぃ

2011/08/22

tips.ExcelVBA改行コード

VBAの最適化について調べていたら見つけたことを検証した。

VBAで文字列中に改行コードを表す場合、VBAで用意されている定数「vbCrLf」を使う場合と、「Chr(13) & Chr(10)」を使い場合で速度が異なるということだった。

以下、1,000,000回繰返し中に改行コードと文字列の結合を行った際にかかる時間を算出してみた。
OS:WindowsXPSP3
Office:2003 SP3

1,000,000回繰返しを行った際の秒数を10回の平均で出したもの。



明らかに時間がかかっていることがわかる。
定数の場合は4倍は早いようだ。

よっぽどのことが無い限り定数を使うほうがよさそうという結論。

上記とは別件だが、エクセルのセル内改行はLFを用いている様子。