「選択範囲のURL・パスを開く」の版間の差分

Sukemaru (トーク | 投稿記録)
細編集の要約なし
MSY-07 (トーク | 投稿記録)
空行と改行の除去、ウィキリンクの除去
 
(2人の利用者による、間の6版が非表示)
1行目: 1行目:
 
== 「ひらけゴマ!」 ==
= 「ひらけゴマ!」 =
(最終更新 2019/04/07) <br>
(最終更新 2019/03/15) <br>


*「'''日本語URL'''」など、禁止文字を含むために Mery が正しい URL として認識せず、ダブルクリックやコンテキストメニューの「URLを開く」コマンドでは開けない URL 文字列を '''既定のブラウザ'''で 開きます(<nowiki>http:// か https://</nowiki> が先頭にあるもののみ)。<br>
*「'''日本語URL'''」など、禁止文字を含むために Mery が正しい URL として認識せず、ダブルクリックやコンテキストメニューの「URLを開く」コマンドでは開けない URL 文字列を '''既定のブラウザ'''で 開きます(<nowiki>http:// か https://</nowiki> が先頭にあるもののみ)。<br>
12行目: 11行目:
  '''”'''プログラムのパス'''"'''␣ファイルのパス
  '''”'''プログラムのパス'''"'''␣ファイルのパス
:のかたちであれば指定したプログラムで開けます。<br> ※''"プログラムのパス"(ダブルクォートで囲うこと) +半角スペース+ ファイルのパス(必要であればダブルクォートで囲う)'' <br> というかたちの文字列は、'''コマンドライン'''として'''引数つき'''で処理します。
:のかたちであれば指定したプログラムで開けます。<br> ※''"プログラムのパス"(ダブルクォートで囲うこと) +半角スペース+ ファイルのパス(必要であればダブルクォートで囲う)'' <br> というかたちの文字列は、'''コマンドライン'''として'''引数つき'''で処理します。


'''複数行''' にリストアップした URL やパスを一括で開いたり、登録済みの特定の "キーワード" を範囲選択して実行することで「'''お気に入り'''」の URL やパスを開いたりできますので、Mery を簡易的な '''テキストランチャ''' として使用できます。
'''複数行''' にリストアップした URL やパスを一括で開いたり、登録済みの特定の "キーワード" を範囲選択して実行することで「'''お気に入り'''」の URL やパスを開いたりできますので、Mery を簡易的な '''テキストランチャ''' として使用できます。
18行目: 16行目:
:* 選択範囲がないときは、キャレットのある行全体の文字列を処理します。
:* 選択範囲がないときは、キャレットのある行全体の文字列を処理します。
:* URL やファイルパスなどの文字列が '''カッコ''' や '''空白文字''' で囲われていたり、行頭に '''箇条書きの記号'''(ビュレット)や '''行コメント''' のコメントマークがついている場合、これらを除いた文字列を URL/パス として開きます。
:* URL やファイルパスなどの文字列が '''カッコ''' や '''空白文字''' で囲われていたり、行頭に '''箇条書きの記号'''(ビュレット)や '''行コメント''' のコメントマークがついている場合、これらを除いた文字列を URL/パス として開きます。


* Mery の「[[ヘルプ:検索#ファイルから検索|ファイルから検索]]」の検索結果一覧にリストアップされた「ファイル名(行番号):」形式の文字列
* Mery の「[[ヘルプ:検索#ファイルから検索|ファイルから検索]]」の検索結果一覧にリストアップされた「ファイル名(行番号):」形式の文字列
  C:\Program Files\Mery\Mery.txt(200):
  C:\Program Files\Mery\Mery.txt(200):
:からファイルを開く「'''ファイルへ移動'''」コマンドの機能を追加しました。 <br> この「開けゴマ!」マクロでは、選択範囲に含まれる複数行のファイルパスを '''(行番号,桁)''' 指定つきでいっぺんに開けます。
:からファイルを開く「'''ファイルへ移動'''」コマンドの機能を追加しました。 <br> この「開けゴマ!」マクロでは、選択範囲に含まれる複数行のファイルパスを '''(行番号,桁)''' 指定つきでいっぺんに開けます。


その他、詳細な仕様についてはソースコード内の [[#仕様詳細(コメントドキュメント)|/** コメントドキュメント */]] の部分を参照してください。
その他、詳細な仕様についてはソースコード内の [[#仕様詳細(コメントドキュメント)|/** コメントドキュメント */]] の部分を参照してください。


== ソースコード ==
== ソースコード ==
=== ダウンロード ===
=== ダウンロード ===
 
「[[ファイル:選択範囲のURL・パスを開く.zip]]」(アイコン入り) 最終更新: 2019/04/07
「[[ファイル:選択範囲のURL・パスを開く.zip]]」(アイコン入り) 最終更新: 2019/03/15
 


=== 仕様詳細(コメントドキュメント) ===
=== 仕様詳細(コメントドキュメント) ===
::::: [[#設定項目|>> コメントドキュメント部分をスキップ]]
  #title = "選択範囲のURL/パスを開く"
  #title = "選択範囲のURL/パスを開く"
  #tooltip = "選択範囲のURLやパスを既定のプログラムで開く"
  #tooltip = "選択範囲のURLやパスを既定のプログラムで開く"
44行目: 34行目:
   
   
  /**
  /**
   * ※選択範囲や行の先頭の「 // 」「;」などの行コメント記号、
   * ※ 選択範囲や行の先頭の「'''//'''」「''';'''」などの行コメント記号、
   * 「・」「*」などの箇条書き記号、および「●」「◆」などの記号は、
   *   「'''・'''」「'''*'''」などの箇条書き記号、および「●」「◆」などの記号は、
   *   行頭/行末の空白文字や禁止文字 <> とあわせて除去したうえで処理します。(2019/03/15 追加)
   *   行頭/行末の空白文字や禁止文字 <code><></code> とあわせて除去したうえで処理します。(2019/03/15 追加)
   *     =-⁃・・•◦‣○●■◆▼▲※→⇒〜~†*:;#'  
   *   <code> =-⁃・・•◦‣○●■◆▼▲※→⇒〜~†*:;#' </code>
   *
   *
   *  ・カレントフォルダ/相対パス/代替 PATH にあるフォルダ/ファイルで
   *  ・カレントフォルダ/相対パス/<b style="color:#0000c0;">代替PATH</b>にあるフォルダ/ファイルでファイル名の先頭に
   *    ファイル名の先頭に除去対象の記号があるとフォルダ名/ファイル名だけでは開かなくなります。
   *    除去対象の記号があるとフォルダ名/ファイル名だけでは開かなくなります。
   *      e.g. "●FolderName" は不可 → フルパス(絶対パス)や ".\◆FolderName" は可
   *      e.g. <code>"●FolderName"</code> は不可
   *  ・お気に入りのキーワードの先頭に除去対象の記号を使用しないで下さい。
  *          → フルパス(絶対パス)や <code>".\◆FolderName"</code> は可
   *  ・「 // 」ではじまるネットワークパス //Android/shared/ は開きません。
  *
   *    → \\Android\shared\ は可(…多分)
   *  ・<b style="color:#0000c0;">お気に入り</b>のキーワードの先頭に除去対象の記号を使用しないで下さい。
  *
   *  ・「'''//'''」ではじまるネットワークパス <code>//Android/shared/</code> は開きません。
   *    → <code>\\Android\shared\</code> は可(…多分)
   *
   *
   * ※選択範囲や行全体が対になる1組のカッコで囲われている場合、
   * ※ 選択範囲や行全体が対になる1組のカッコで囲われている場合、
   *   カッコを除去できます。(2019/03/15 追加)
   *   カッコを除去できます。(2019/03/15 追加)
   *
   *
   * ①: Mery では " < > 以外にも ! ' ( ) * [ ] ^ ` { | } が URL 用文字から除外されていますが、
   * ➀: Mery では <code>" < ></code> 以外にも <code>! ' ( ) * [ ] ^ ` { | }</code> が
   *   これらの文字をふくむためにエディタ上で正しいハイパーリンクになっていない URL 文字列でも
   *   URL用文字から除外されていますが、これらの文字をふくむために
   *   既定のブラウザで開きます。
   *   エディタ上で正しいハイパーリンクになっていないURL文字列でも既定のブラウザで開きます。
   *
   *
   *  ※文字列を「 " " 」で囲って丸投げするだけなので、URL エンコードはブラウザ任せです。
   *  ※ 文字列を「'''" "'''」で囲って丸投げするだけなので、URLエンコードはブラウザ任せです。
   *    「日本語URL」も既定のブラウザに送りますが、対応できるかはブラウザ側の仕様に依存します。
   *    「日本語URL」も既定のブラウザに送りますが、対応できるかはブラウザ側の仕様に依存します。
   *  ※行頭から http:// までの文字列は無視しますが、 URL の後ろに続く文字列は除去しません。
   *  ※ 行頭から <code>http://</code> までの文字列は無視しますが、
   *  ※開けるのは先頭に http:// か https:// がついた URL 文字列のみです。
  *      URLの後ろに続く文字列は除去しません。
   *    www.example.com/hoge/ のような http:// が省略された文字列には対応しません。
   *  ※ 開けるのは先頭に <code>http:// </code>か <code>https://</code> がついた URL 文字列のみです。
   *    <code>www.example.com/hoge/</code> のような <code>http://</code> が省略された文字列には対応しません。
   *
   *
   * ②: メールアドレスなら既定のメールクライアントでメッセージを新規作成します。
   * ➁: メールアドレスなら既定のメールクライアントでメッセージを新規作成します。
   *
   *
   *  ※mailto: の有無によらずにメールアドレス文字列を開きます。
   *  ※ <code>mailto:</code> の有無によらずにメールアドレス文字列を開きます。
   *  ※メールアドレスとおなじ名前のフォルダを相対パスや PATH 略記のパスとして優先的に開きたい場合は、
   *  ※ メールアドレスとおなじ名前のフォルダを相対パスや <span style="color:#0000c0;">PATH</span> 略記のパスとして
   *     ② のコードを下位(⑩の上)に移動させてください。
   *     優先的に開きたい場合は、➁ のコードを下位(➉の上)に移動させてください。
   *  ※メールアドレスの判定基準は「メールアドレス 正規表現」で検索トップにあったサイトからの拾い物です。
   *  ※ メールアドレスの判定基準は「メールアドレス 正規表現」で検索トップにあった
  *      サイトからの拾い物です。
   *    ref. 『メールアドレスを表す現実的な正規表現 - Qiita』
   *    ref. 『メールアドレスを表す現実的な正規表現 - Qiita』
   *    https://qiita.com/sakuro/items/1eaa307609ceaaf51123
   *    https://qiita.com/sakuro/items/1eaa307609ceaaf51123
   *
   *
   * ⓪: Mery の「ファイルへ移動」コマンド用の (行,桁) 番号指定つきフルパスの書式
   * ⓪: Mery の「ファイルへ移動」コマンド用の (行,桁) 番号指定つきフルパスの書式
   *    C:\Program Files\Mery\Mery.txt(2,5)
   *    <code>C:\Program Files\Mery\Mery.txt(2,5)</code>
   *   でファイルの実在確認ができるものは、行・桁 指定のコマンドラインに置換し
   *   でファイルの実在確認ができるものは、行・桁 指定のコマンドラインに置換して
   *    "Mery.exe" /l 2 /cl 5 "C:\Program Files\Mery\Mery.txt"
   *    <code>"Mery.exe" /l 2 /cl 5 "C:\Program Files\Mery\Mery.txt"</code>
   *   実行中の Mery のプロセスで開きます。(2019/03/15 追加)
   *   実行中の Mery のプロセスで開きます。(2019/03/15 追加)
   *
   *
   *  ※実在するファイルでも「拡張子に (カッコ) が含まれている」など
   *  ※ 実在するファイルでも「拡張子に (カッコ) が含まれている」など
   *     拡張子と規定のプログラムのヒモづけが定義されていないものは
   *     拡張子と規定のプログラムのヒモづけが定義されていないものは
   *     WScript.Shell.Run() がエラーを返し開けないようなので
   *     <code>WScript.Shell.Run()</code> がエラーを返し開けないようなので
   *    ( Win+R の「ファイル名を指定して開く」では開ける)、
   *    ( Win+R の「ファイル名を指定して開く」では開ける)、
   *     この「Mery で開く」コードを ③ の "フルパスを開く" コードよりも先に処理します。
   *     この「Mery で開く」コードを ➂ の "フルパスを開く" コードよりも先に処理します。
   *
   *
   * ③: 選択範囲の文字列がファイルやフォルダのフルパスなら、実在確認して既定のプログラムで実行します
   * ➂: 選択範囲の文字列がファイルやフォルダのフルパスなら、
   *    (環境変数を %PATH% 形式で短縮したパスも展開し、実在確認をして既定のプログラムで実行します)。
  *    実在確認して既定のプログラムで実行します
   *    ネットワークフォルダの \\パス も、実在確認をして既定のプログラムで実行します。
   *    (環境変数を <code>%PATH%</code> 形式で短縮したパスも展開し、
  *    実在確認をして既定のプログラムで実行します)。
   *    ネットワークフォルダの <code>\\パス</code> も、実在確認をして既定のプログラムで実行します。
   *
   *
   *  ※「 // 」か「 \\ 」ではじまる行を選択範囲に含めると、ネットワークフォルダの実在確認を試行するため
   *  ※<s>「 '''//''' 」か</s>「 '''\\''' 」ではじまる行を選択範囲に含めると、
   *   検索に時間がかかります(「 // 」か「 \\ 」の直後が空白文字や禁止文字なら ③ をスキップします)。
  *    ネットワークフォルダの実在確認を試行するため、検索に時間がかかります
   *   → 先頭の「 // 」を除去するコードを追加(2019/03/11)
   *     (<s>「 '''//''' 」か</s>「 '''\\''' 」の直後が空白文字や禁止文字なら ➂ をスキップします)。
   *  ※フルパスでない文字列でも FileSystemObject が勝手に相対パスや PATH を補完して
   *     → 先頭の「 '''//''' 」を除去するコードを追加(2019/03/11)
   *     ③ のメソッドで開くことがあるようでます。
   *  ※ フルパスでない文字列でも FileSystemObject が勝手に相対パスや <span style="color:#0000c0;">PATH</span> を補完して
   *     ➂ のメソッドで開くことがあるようでます。
   *
   *
   * ④: 環境変数を %PATH% 形式で短縮したパスの場合は、省略された拡張子も補完します。
   * ➃: 環境変数を <code>%PATH%</code> 形式で短縮したパスの場合は、省略された拡張子も補完します。
   *  ※実行ファイルに引数を渡す場合は、パスを「 " " 」で囲ってください(後述)。
   *  ※ 実行ファイルに引数を渡す場合は、パスを「'''" "'''」で囲ってください(後述)。
   *
   *
   * ⑤~⑦: アクティブなドキュメントのカレントディレクトリからの相対パスとして
   * ➄~➆: アクティブなドキュメントのカレントディレクトリからの相対パスとして
   *  ファイルやフォルダの実在確認ができるなら、既定のプログラムで実行します。
   *  ファイルやフォルダの実在確認ができるなら、既定のプログラムで実行します。
   *
   *
   *  ※処理できる相対パスの形式は、
   *  ※ 処理できる相対パスの形式は、
   *    ⑤: 先頭だけに ..\ または .../ が付いたものか(拡張子を補完しない)
   *    ➄: 先頭だけに <code> ..\ </code> または <code> .../ </code> が付いたものか(拡張子を補完しない)
   *    ⑥: カレントディレクトリまでのパスを完全に省略したもののみで、
   *    ➅: カレントディレクトリまでのパスを完全に省略したもののみで、
   *     パスの途中にも .\ などがあるものは処理しません。
   *         パスの途中にも <code> .\ </code> などがあるものは処理しません。
   *    ⑦: ⑥のパターンにたいして、省略された拡張子を補完します。
   *    ➆: ➅のパターンにたいして、省略された拡張子を補完します。
   *
   *
   * ⑧: システム環境変数 PATH を省略したパスを補完し、実在確認をして既定のプログラムで実行します。
   * ➇: システム環境変数 <span style="color:#0000c0;">PATH</span> を省略したパスを補完し、
   * ⑨: 拡張子 PathExt が省略されたものも、定義配列から実在確認を試行して実行します。
  *    実在確認をして既定のプログラムで実行します。
   * ➈: 拡張子 <span style="color:#0000c0;">PathExt</span> が省略されたものも、
  *    定義配列から実在確認を試行して実行します。
   *
   *
   *  ※WScript.Shell.Run() は本来 PATH や PathExt (および App Paths)を補完して実行させられますが
   *  ※ <code>WScript.Shell.Run()</code> は本来 <span style="color:#0000c0;">PATH</span> や <span style="color:#0000c0;">PathExt</span> (および <span style="color:#0000c0;">App Paths</span>)を
   *     実在確認してから実行させないとマクロのエラーとして扱われてしまうので、
  *      補完して実行させられますが
   *     ⑧, ⑨ で処理するシステム環境変数 PATH は、定義配列に手動で列挙したもののみとします。
   *     実在確認してから実行させないとマクロのエラーとして扱われてしまうので、
   *  ※パスのとおった App Paths も、Path の定義配列に親フォルダのパスを手動で追加しないと処理しません
   *     ➇, ➈ で処理するシステム環境変数 <span style="color:#0000c0;">PATH</span> は、'''定義配列'''に手動で列挙したもののみとします。
   *     (App Paths はプログラムのインストーラがレジストリに書き込んだ PATH の代用機能です。
   *  ※ パスのとおった <span style="color:#0000c0;">App Paths</span> も、<b style="color:#0000c0;">Path の定義配列</b> に親フォルダのパスを
   *       配下のレジストリキー名で実行するとキーの配下に記述されたプログラムを起動できます)。
   *     手動で追加しないと処理しません(<span style="color:#0000c0;">App Paths</span> はプログラムのインストーラが
   *     [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths]
  *      レジストリに書き込んだ <span style="color:#0000c0;">PATH</span> の代用機能です。
   *     配下のレジストリキー名で実行するとキーの配下に記述されたプログラムを起動できます)。
   * <code>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths]</code>
   *
   *
   * ⑩: file://~ への絶対パスを既定のプログラムで実行します。
   * ➉: <code>file://~</code> への絶対パスを既定のプログラムで実行します。
   *
   *
   *  ※先頭の "file://" を外しローカルファイルとして実在確認をしてから
   *  ※ 先頭の <code>"file://"</code> を外しローカルファイルとして実在確認をしてから
   *     ドライブ名以降のパスを WScript.Shell.Run() に投げて実行させます。
   *     ドライブ名以降のパスを <code>WScript.Shell.Run()</code> に投げて実行させます。
   *     ⑩ のメソッドはネットワークドライブのファイル/フォルダには対応しません。
   *     ➉ のメソッドはネットワークドライブのファイル/フォルダには対応しません。
   *
   *
   * ⑪: なんでもいいから WScript.Shell.Run() に投げて実行させます。
   * ⑪: なんでもいいから <code>WScript.Shell.Run()</code> に投げて実行させます。
   *    shell:コマンドなどパスのかたちを取っていないものはこれでしか実行できませんが、ミスタイプや
   *    <code>shell:</code>コマンドなどパスのかたちを取っていないものはこれでしか実行できませんが、
   *    ファイルやフォルダが実在しない場合にはマクロのエラーとして扱われるので「●非推奨」です。
   *    ミスタイプやファイルやフォルダが実在しない場合には
   *  ※設定変数により ⑪ のコードは初期状態で無効化してあります。
  *    マクロのエラーとして扱われるので「<b style="color:#c00;">非推奨</b>」です。
   *  ※ 設定変数により ⑪ のコードは初期状態で無効化してあります。
   *
   *
   * ▼ 共通 ▼
   * ▼ 共通 ▼
138行目: 141行目:
   *
   *
   * ・範囲選択なしのときは、アクティブな論理行の文字列を取得して URL/パス を実行します。
   * ・範囲選択なしのときは、アクティブな論理行の文字列を取得して URL/パス を実行します。
   *  選択範囲や各行の先頭/末尾の「空白文字」「 <> 」は無視します。
   *  選択範囲や各行の先頭/末尾の「空白文字」「'''<>'''」は無視します。
   *
   *
   * ・複数行の各行にひとつずつ列挙された URL/パス それぞれを既定のプログラムで実行することができます。
   * ・複数行の各行にひとつずつ列挙された URL/パス
  *  それぞれを既定のプログラムで実行することができます。
   *  箇条書きの行であれば行頭記号をはずして URL/パス を開きます。
   *  箇条書きの行であれば行頭記号をはずして URL/パス を開きます。
   *
   *
   * ・①=URL、②=メールアドレス、⑪=強制執行は、実在確認なしで実行します、
   * ・➀ URL、➁ メールアドレス、⑪ 強制執行は、実在確認なしで実行します、
   *  ⓪, ③~⑨=ローカルファイル/フォルダのパスは、実在確認して実行します。
   *  ⓪, ➂~➈ ローカルファイル/フォルダのパスは、実在確認して実行します。
   * ・%PATH% 形式で略記されたパスは、展開してから実在確認して実行します。
   * ・<code>%PATH%</code> 形式で略記されたパスは、展開してから実在確認して実行します。
   *
   *
   * ・すべて WScript.Shell.Run() での起動処理なので、ファイル/フォルダの実在確認ができても
   * ・すべて <code>WScript.Shell.Run()</code> での起動処理なので、ファイル/フォルダの
   *  イレギュラーなファイル名や拡張子の場合は開けないことがあります。
   *  実在確認ができてもイレギュラーなファイル名や拡張子の場合は開けないことがあります。
   *    e.g. c:\hoge\fuga.h(1)  ← 規定のプログラムが定義されていない拡張子
   *    e.g. <code>c:\hoge\fuga.h(1)</code> ← 規定のプログラムが定義されていない拡張子
   *
   *
   * ・選択範囲や各行内の先頭に「 " " 」で囲われた部分があれば、
   * ・選択範囲や各行内の先頭に「'''" "'''」で囲われた部分があれば、
   *  「 " ~ " 」をパス(コマンド)と見做し、
   *  「'''" ~ "'''」をパス(コマンド)と見做し、
   *  「 " ~ " 」より後ろの文字列を引数(コマンドラインオプション)として処理します。
   *  「'''" ~ "'''」より後ろの文字列を引数(コマンドラインオプション)として処理します。
   *
   *
   *  ※※※ 基本的に引数つきのコマンドラインを処理する前提ではありません ※※※
   *  ※※※ 基本的に引数つきのコマンドラインを処理する前提ではありません ※※※
   *
   *
   *  選択範囲の先頭に「 " " 」で囲われた部分がない場合は、引数付きのコマンドであっても実行しません
   *  選択範囲の先頭に「'''" "'''」で囲われた部分がない場合は、
   *  (※パスの中に半角スペースがあっても「 " " 」なしで開けることを優先するための仕様です)。
   *  引数付きのコマンドであっても実行しません
  *  (パスの中に半角スペースがあっても「'''" "'''」なしで開けることを優先するための仕様です)。
   *
   *
   *  引数部分の「 " " 」の有無は考慮せず、WScript.Shell.Run() にそのまま渡します。
   *  引数部分の「'''" "'''」の有無は考慮せず、<code>WScript.Shell.Run()</code> にそのまま渡します。
   *  引数部分が環境変数 Path, PathExt でディレクトリパスや拡張子を省略されていても
   *  引数部分が環境変数 <span style="color:#0000c0;">Path, PathExt</span> でディレクトリパスや拡張子を省略されていても
   *  マクロでは補完処理しません(環境変数 Path, PathExt の代替定義用の配列も適用しません)。
   *  マクロでは補完処理しません(環境変数<b style="color:#0000c0;">Path, PathExtの代替定義</b>用の配列も適用しません)。
   *  引数部分は実在確認しないので、 %PATH% も展開しないでそのまま渡します。
   *  引数部分は実在確認しないので、<code>%PATH%</code> も展開しないでそのまま渡します。
   *
   *
   * ・選択範囲の文字列の先頭が「 " 」でそれを閉じる「 " 」の位置が不適切(または閉じる「 " 」がない)場合、
   * ・選択範囲の文字列の先頭が「'''"'''」でそれを閉じる「'''"'''」の位置が不適切
   *  ⑧ のコードにより代替 PATH 配列内の最初のフォルダが開くようです。
  *  (または閉じる「'''"'''」がない)場合、
   *  (→ 2019/03/15 「空行をスキップ」 のコードで阻止)
   *  ➇ のコードにより<b style="color:#0000c0;">代替PATH</b>配列内の最初のフォルダが開くようです。
   *  (→ 2019/03/15 「空行をスキップ」のコードで阻止)
   *
   *
   * ・選択範囲の文字列がドット「 . 」だけで実行すると
   * ・選択範囲の文字列がドット「 '''.''' 」だけで実行すると
   *  ⑥ のコードによりアクティブなドキュメントの「カレントフォルダ(親フォルダ)」が開きます…。
   *  ➅ のコードによりアクティブドキュメントの「カレントフォルダ(親フォルダ)」が開きます。
   *  「 .. 」ならその親フォルダが開くので、WScript.Shell.Run() が相対パスとして処理しているようです。
   *  「 '''..''' 」ならその親フォルダが開くので、
  *  <code>WScript.Shell.Run()</code> が相対パスとして処理しているようです。
   *  (これもこれで面白いので、あえてデバッグしないで残しておきます)
   *  (これもこれで面白いので、あえてデバッグしないで残しておきます)
   *
   *
   * ・拡張子 PathExt の補完は、④, ⑦, ⑨ の場合のみとします。
   * ・拡張子 <span style="color:#0000c0;">PathExt</span> の補完は、➃, ➆, ➈ の場合のみとします。
   *
   *
   * ・「お気に入り」の URL やパスを特定の「キーワード」で開くこともできます。
   * ・「<b style="color:#0000c0;">お気に入り</b>」の URL やパスを特定の「キーワード」で開くこともできます。
   * ・「省略可能なフォルダパス」配下のフォルダ/ファイルは、
   * ・「<b style="color:#0000c0;">省略可能なフォルダパス</b>」配下のフォルダ/ファイルは、
   *  「フォルダ名」や「ファイル名」だけで開けます(※代替 PATH 機能)。
   *  「フォルダ名」や「ファイル名」だけで開けます(※<b style="color:#0000c0;">代替PATH</b>機能)。
   *
   *
  * 以下のような 文字列/論理行 を開くことができます
    '''以下のような 文字列/論理行 を開くことができます'''
  *(※ 行頭/行末の空白は無視し、無効な行はスキップします)。
  (※ 行頭/行末の空白は無視し、無効な行はスキップします)。
   
   
   
   
  ▼ 日本語や半角スペースなどの禁止文字を含む URL(http:// があるもののみ) ▼
  ▼ 日本語や半角スペースなどの禁止文字を含む URL(<code>http://</code> があるもののみ) ▼
   
   
  "<nowiki>https://www.haijin-boys.com/wiki/よくある質問#.E6.97.A5.E6.9C.AC.E8.AA.9E.E3.82.92.E5.90.AB.E3.82.80_URL_.E3.82.92.E8.AA.8D.E8.AD.98.E3.81.97.E3.81.9F.E3.81.84</nowiki>"  
<code>  <nowiki>"https://www.haijin-boys.com/wiki/よくある質問#.E6.97.A5.E6.9C.AC.E8.AA.9E.E3.82.92.E5.90.AB.E3.82.80_URL_.E3.82.92.E8.AA.8D.E8.AD.98.E3.81.97.E3.81.9F.E3.81.84"</nowiki>  </code>
  <nowiki>https://www.haijin-boys.com/wiki/マクロリファレンス:Selection インターフェイス</nowiki>
   
   
▼ メールアドレス(mailto: あり/なし) ▼
  <code><nowiki>https://www.haijin-boys.com/wiki/マクロリファレンス:Selection インターフェイス</nowiki></code>
   
   
  < hogehoge@example.com >   
▼ メールアドレス(<code>mailto:</code> あり/なし) ▼
<code>  < hogehoge@example.com >  </code>
   
   
  ▼ ファイル/フォルダパス(絶対パス:フルパス) ▼
  ▼ ファイル/フォルダパス(絶対パス:フルパス) ▼
   
   
   C:\Program Files
   <code>C:\Program Files </code>
   "c:\windows\system32\notepad.exe"   
   <code>"c:\windows\system32\notepad.exe"  </code>
   [ C:\Program Files\Mery\Mery.txt ]
   <code>[ C:\Program Files\Mery\Mery.txt ]</code>
   
   
  ▼ アクティブなドキュメントからの相対パス(..\ 形式の場合は、要 拡張子) ▼
  ▼ アクティブなドキュメントからの相対パス(<code>..\</code> 形式の場合は、要 拡張子) ▼
   
   
   "連続する重複行を削除"
   <code>"連続する重複行を削除" </code>
   ..\Mery.ini  
   <code>..\Mery.ini </code>
   
   
  ▼ 環境変数で短縮/省略されたパスやコマンドライン ▼
  ▼ 環境変数で短縮/省略されたパスやコマンドライン ▼
   
   
   %PROGRAMFILES%\internet explorer\iexplore
   <code>%PROGRAMFILES%\internet explorer\iexplore</code>
   "calc"
   <code>"calc" </code>
   cmd
   <code>cmd</code>
   (regedit)
   <code>(regedit)</code>
   "notepad" "%PROGRAMFILES%\Mery\Mery.txt"
   <code>"notepad" "%PROGRAMFILES%\Mery\Mery.txt"</code>
   "explorer" /select, %USERPROFILE%\ntuser.ini
   <code>"explorer" /select, %USERPROFILE%\ntuser.ini</code>
 
▼ インターネットアドレス形式のパスやネットワークパス、[<code>shell:</code>コマンド ←<b style="color:#c00;">非推奨</b>(※実在確認なし)]  ▼
   
   
  ▼ インターネットアドレス形式のパスやネットワークパス、[●shell:コマンド ←非推奨(※実在確認なし)]  ▼
  <code>file:///c:/boot.ini </code>
  <code>\\Android\shared</code>
  <code>shell:Desktop </code>
   
   
  file:///c:/boot.ini  
  ▼ 行頭に箇条書きの記号や行コメントの記号がある URL/パス ▼
  \\Android\shared
  shell:Desktop
   
   
  ▼ 行頭に箇条書きの記号や行コメントの記号がある URL/パス ▼
  <code>  ・eula.rtf</code>
<code><nowiki>// <https://www.haijin-boys.com/software/mery/</nowiki></code>
   
   
   ・eula.rtf
▼ Mery フォルダにショートカットファイルを置くと、
// <nowiki>https://www.haijin-boys.com/software/mery/</nowiki>
   「無題」ドキュメント上の「ショートカット名の文字列」で起動できる。
   
   
  ▼ Mery フォルダにショートカットファイルを置くと、「無題」ドキュメント上の「ショートカット名の文字列」で起動できる ▼
  ▼ または ※<b style="color:#0000c0;">代替PATH配列</b>※ のフォルダにショートカットファイルを置くと、
▼ または ※代替 PATH 配列※ のフォルダにショートカットファイルを置くと、すべてのドキュメント上の「ショートカット名の文字列」で起動できる ▼
  すべてのドキュメント上の「ショートカット名の文字列」で起動できる。
   
   
   "foobar2000.exe - ショートカット"
   <code>"foobar2000.exe - ショートカット"</code>
   
   
   *
   *
   */
   */


=== 設定項目 ===
=== 設定項目 ===
:::::[[#実行コード|>> 設定項目をスキップ]]
<syntaxhighlight lang="javascript">
<source lang="javascript">




311行目: 320行目:
// ---------- ▲ 設定項目 ここまで ▲ ----------
// ---------- ▲ 設定項目 ここまで ▲ ----------


</source>
</syntaxhighlight>


=== 実行コード ===
=== 実行コード ===
<source lang="javascript">
<syntaxhighlight lang="javascript">


// 「ひらけゴマ!!」
// 「ひらけゴマ!!」
649行目: 658行目:
   // Status = " URL / パス として開けませんでした。 " + elapsedStatus + "  " + DateTime_ms( end ).substr( 0, 19 );
   // Status = " URL / パス として開けませんでした。 " + elapsedStatus + "  " + DateTime_ms( end ).substr( 0, 19 );
}
}
Quit();




729行目: 737行目:
}
}


</source>
</syntaxhighlight>
 
[[#ソースコード|ソースコード先頭に移動]]


== メモ ==
== メモ ==
----
*2018/12/05 (sukemaru)
*2018/12/05 (sukemaru)
:・一応、相対パスで記述した M3U プレイリストファイルからメディアファイルを開くことはできるようです。
:・一応、相対パスで記述した M3U プレイリストファイルからメディアファイルを開くことはできるようです。
758行目: 762行目:
:・その他、不安定な挙動を修正。
:・その他、不安定な挙動を修正。
----
----
<br>
*2019/04/07 (sukemaru)
:・Quit() メソッドを削除
----


  * ascii 文字
  * ascii 文字
   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~


  * Mery のエディタ上で URL として扱われる文字群(ascii)
  * Mery のエディタ上で URL として扱われる文字群(ascii)
768行目: 773行目:
   
   
  <nowiki>http://example.com/#$%+,-./0123456789=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&:;\</nowiki>
  <nowiki>http://example.com/#$%+,-./0123456789=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz~&:;\</nowiki>


  * Mery における URL の禁止文字群(ascii)
  * Mery における URL の禁止文字群(ascii)
774行目: 778行目:
   
   
  <nowiki>http://example.com/!"'()*<>[]^`{|}</nowiki>
  <nowiki>http://example.com/!"'()*<>[]^`{|}</nowiki>


  * ファイル名の禁止文字
  * ファイル名の禁止文字
  \ / : , ; " * ? < > |
  \ / : , ; " * ? < > |
[[#「ひらけゴマ!」|ページの先頭に移動]]
スポンサーリンク