【サクラエディタ】ファイルのプロパティを開くマクロ


これはなに?

サクラエディタで開いているファイルのプロパティウィンドウを開くためのマクロ(スクリプト)。
マクロ格納フォルダに置き、ツールバーのアイコンに登録すると便利。(%APPDATA%\sakura)

使用例

なんらかのツールからテキストファイルを開いたら「読み取り専用」属性が付いていたとき、普通なら

  1. ファイルのフォルダを開く
  2. ファイルのプロパティを開く
  3. 「読み取り専用」のチェックボックスを外す
  4. ファイルを開き直す

の手順を踏む必要があるが、このマクロを使えば 1. と 2. をワンクリックで実現できる。
さらにサクラエディタ標準機能の「(ファイルを)開き直す」を使えば 4. もワンクリックで実現できる。

たった2ステップをワンクリックで実現するだけの地味なマクロだけど、編集しようとしたら読み取り専用で1イラッ、開いているファイルのフォルダを開くのが地味に面倒で2イラッ、を解消できる。

ソース

ファイルのプロパティを開く.vbs
Option Explicit

Dim FSO:    Set FSO = CreateObject("Scripting.FileSystemObject")
Dim WSH:    Set WSH = CreateObject("WScript.Shell")
Dim ShellApp:   Set ShellApp = CreateObject("Shell.Application")

Dim strFilePath
Dim strFolderPath
Dim strFileName
Dim objFolder
Dim objFile

' 開いているファイルのパスを取得
' (未保存の場合は空文字列が返る)
strFilePath = Editor.GetFilename()

' 開いているファイルのプロパティダイアログを開く
If strFilePath <> "" Then
    ' パスを親フォルダとファイル名に分割
    strFolderPath = FSO.GetParentFolderName(strFilePath)
    strFileName = FSO.GetFileName(strFilePath)

    ' Shellのオブジェクトを取得する
    Set objFolder = ShellApp.NameSpace(strFolderPath)
    Set objFile = objFolder.ParseName(strFileName)

    ' プロパティダイアログを開く
    Call objFile.InvokeVerb("properties")
End If

設定方法

メニュー > 設定 > 共通設定

「マクロ」タブ

  1. 登録先のスロットを選択
  2. マクロファイルを選択
  3. 名称を入力 (任意)
  4. 「設定」ボタンを押下

「ツールバー」タブ

  1. 「外部マクロ」を選択
  2. 「マクロ」タブで設定したものを選択
  3. 追加ボタン(→ or ≫)を押下