0
1

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 3 years have passed since last update.

Excelを読み取り専用で開く【VBS】

Posted at

はじめに

こんにちは、Mottyです。
かなり久しぶりの投稿となりますが...ちょっとExcelファイルとvbsについて書きました。
共有サーバーに置いてるスケジュールなど、変更してはいけないファイルを見るときは”読み取り専用”で開くのが一番安全ですよね。
方法はいくつかあるので、今回はそれについてまとめました。併せてVBSの威力も知ってもらえたらなと思います。

1.Excelのクイックアクセスツールバーから開く

Excelファイルを開いてオプション→クイックアクセスツールバーを開く。
コマンドの選択:基本的なコマンドを選び、「読み取り専用の設定/解除」を選ぶ
(膨大な数のコマンドがあるので、下記のスクショを参考に探してください。笑)
1.PNG

一番上の緑タブにアイコンができましたね。
ここをクリックすることで読み取り専用の設定/解除が行えます。
2.PNG

2.Shift押しながら右クリック→読み取り専用

隠しコマンド的な機能ですが、Shiftを押しながらExcelを右クリックすることで、以下のような画面が開かれます。

3.png

ただしこれを押しても読み取り専用では開けません!
windows内のどこかしらのプロパティを設定すれば開けるそうですが、設定変えてPCがおかしくなるリスクもあるので…少しおすすめはできません。一応そういう方法もあるよ、ということだけ紹介しておきます。

3.VBSCriptを組み、そこから開く

愛してやまないVBSCript...メモ帳で編集できるプログラムの登場です。一旦vbsファイルを作ってしまえば以降ダブルクリックだけで機能するものです。
①メモ帳を新規で開く
②下記をコピーする
③Excelのパスをコピーして、下記のFilePath="*.xlsx"欄に張り付ける
④名前を付けて保存→拡張子を.vbsに置き換える ※日本語のファイルを開く場合、文字コードはASIIで保存しないと文字化けしてエラーが出てしまいます。
⑤ダブルクリックをすると読み取り専用で開ける。

読み取り専用で開く.vbs
Dim FilePath
FilePath="*.xlsx" 'ここにパスを入力する

Dim objExcel
Set objExcel = WScript.CreateObject("Excel.Application")
objExcel.Visible = True
Call objExcel.Workbooks.Open(FilePath,,True)'読み取り専用で開く
objExcel.DisplayAlerts = False
Set objExcel= Nothing 'オブジェクトの破棄
WScript.Quit

無事に読み取り専用で開けたかどうかを確認してください。
4.PNG

最後に

ファイルのコピペや今日の日付のフォルダを作るみたいな簡単な作業だったらバッチファイルで済むのですが、
Office系のアプリを操作したりメールを送ったり、みたいな少し高度なことはVBScriptがやってくれます。
ほかにもVBSやバッチの便利な方法などあったら不定期で更新していきたいと思います。
それでは。

0
1
0

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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?