テキストの新規作成をメニューに加える方法

Finderである場所を開いた状態で二本指でタップすると、メニューに「新規フォルダ」という項目が表示されますが、これと同様に「新規テキスト」というのを表示させたいです。テキストはリッチテキスト形式です。可能ですか?

MacBook Air 13″, macOS 12.1

投稿日 2021/12/27 08:58

返信
スレッドに付いたマーク ランキングトップの返信

投稿日 2021/12/28 01:49

hohokihai さんのコメントにある、Automator クイックアクションは基本コピペでできちゃいますよ。下記のサポート記事を参考にして作成してみてはどうでしょうか。


Macでクイックアクション・ワークフローを使用する

https://support.apple.com/ja-jp/guide/automator/aut73234890a/mac


MacのAutomatorでワークフローを作成する

https://support.apple.com/ja-jp/guide/automator/aut7cac58839/mac


ーーーーーー


ワークフローはこんな感じ。(下図は Mojave の Automator です)


「シェルスクリプトを実行」アクションの中身はこんな感じでも良いかも。

richtext='{\rtf1\ansi\ansicpg932\cocoartf1671\cocoasubrtf600
{\fonttbl}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
}'

for f in "$@"; do
    printf '%s' "${richtext}" > "${f}/untitled.rtf"
done


返信: 9
スレッドに付いたマーク ランキングトップの返信

2021/12/28 01:49 塩きゅうり への返信

hohokihai さんのコメントにある、Automator クイックアクションは基本コピペでできちゃいますよ。下記のサポート記事を参考にして作成してみてはどうでしょうか。


Macでクイックアクション・ワークフローを使用する

https://support.apple.com/ja-jp/guide/automator/aut73234890a/mac


MacのAutomatorでワークフローを作成する

https://support.apple.com/ja-jp/guide/automator/aut7cac58839/mac


ーーーーーー


ワークフローはこんな感じ。(下図は Mojave の Automator です)


「シェルスクリプトを実行」アクションの中身はこんな感じでも良いかも。

richtext='{\rtf1\ansi\ansicpg932\cocoartf1671\cocoasubrtf600
{\fonttbl}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
}'

for f in "$@"; do
    printf '%s' "${richtext}" > "${f}/untitled.rtf"
done


2021/12/28 00:02 塩きゅうり への返信

他のスレッドで「デフォルトと和解せよ!」などと投稿した手前(且つ個人的にはカスタマイズ系のユーティリティは基本的に使用しないので)積極的に紹介しづらいのですが下記とか。

https://apple.stackexchange.com/questions/94755/right-click-create-a-new-text-file-how


XtraFinder、BetterTouchTool などが紹介されているようですがとりあえず New File Menu や Create File Menu とか。

https://apps.apple.com/jp/app/new-file-menu-free/id1066302071

https://apps.apple.com/jp/app/new-file-menu/id1064959555

https://apps.apple.com/jp/app/create-file-menu/id1440519779


https://www.google.co.jp/search?q=mac+new+file+menu

https://www.google.co.jp/search?q=mac+create+file+menu

2021/12/28 02:09 Hiro__S への返信

Finder のツールバーに登録して実行するタイプでも良ければこんな感じ。


作り方

  1. Script Editor.app を起動
  2. 言語の選択メニューで JavaScript を選択
  3. 下記コードをコピペ
  4. 適当な場所に保存 (ファイルフォーマット:アプリケーション オプション:なし)
  5. Finder のツールバーに登録



使い方

Finder でフォルダを開き、

ツールバーからアプレットを実行



コード

'use strict';

var Finder = Application('Finder');
var rich_text = `{\\rtf1\\ansi\\ansicpg932\\cocoartf1671\\cocoasubrtf600
{\\fonttbl}
{\\colortbl;\\red255\\green255\\blue255;}
{\\*\\expandedcolortbl;;}
\\paperw11900\\paperh16840\\margl1440\\margr1440\\vieww10800\\viewh8400\\viewkind0
}`;

function run() {
    const furl = $.NSURL.URLWithString(Finder.insertionLocation().url());
    const fpath = furl.path;

    const new_fpath = fpath.stringByAppendingPathComponent('untitled.rtf');
    const enc = $.NSUTF8StringEncoding;
    const err = $();

    if (! $(rich_text).writeToFileAtomicallyEncodingError(new_fpath, true, enc, err)) {
        throw new Error(err.localizedDescription.js);
    }
}


2021/12/27 19:57 塩きゅうり への返信

コンテクストメニューにメニューアイテムを追加するには、アプリケーションを作る必要があります。

手軽なところでは、Automatorで作ることができますが、フォルダを選択したときのみメニューに表示されます。エンクロージング・フォルダ(現在開いているフォルダ)では表示されません。




Xcodeを使うのであれば、Finder Sync Extensionを作ります。


Finder Sync

https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/Finder.html#//apple_ref/doc/uid/TP40014214-CH15-SW1

2021/12/28 03:22 Hiro__S への返信

すみません。ちょっと変更。


'use strict';

var Finder = Application('Finder');
var rich_text = `{\\rtf1\\ansi\\ansicpg932\\cocoartf1671\\cocoasubrtf600
{\\fonttbl}
{\\colortbl;\\red255\\green255\\blue255;}
{\\*\\expandedcolortbl;;}
\\paperw11900\\paperh16840\\margl1440\\margr1440\\vieww10800\\viewh8400\\viewkind0
}`;

function run() {
    const dirname = $.NSURL.URLWithString(Finder.insertionLocation().url()).path;
    const fpath = dirname.stringByAppendingPathComponent('untitled.rtf');
    const enc = $.NSUTF8StringEncoding;
    const err = $();

    if (! $(rich_text).writeToFileAtomicallyEncodingError(fpath, true, enc, err)) {
        throw new Error(err.localizedDescription.js);
    }
}


2021/12/28 21:35 Hiro__S への返信

untitled.rtf が既存の場合は上書きしないようにしました。


'use strict';

var Finder = Application('Finder');
var rich_text = `{\\rtf1\\ansi\\ansicpg932\\cocoartf1671\\cocoasubrtf600
{\\fonttbl}
{\\colortbl;\\red255\\green255\\blue255;}
{\\*\\expandedcolortbl;;}
\\paperw11900\\paperh16840\\margl1440\\margr1440\\vieww10800\\viewh8400\\viewkind0
}`;

function run() {
    const root = $.NSURL.URLWithString(Finder.insertionLocation().url()).path;

    const fpath = root.stringByAppendingPathComponent('untitled.rtf');
    const enc = $.NSUTF8StringEncoding;
    const err = $();

    if (! $.NSFileManager.defaultManager.fileExistsAtPath(fpath)) {
        if (! $(rich_text).writeToFileAtomicallyEncodingError(fpath, true, enc, err)) {
            throw new Error(err.localizedDescription.js);
        }
    }
}


このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

テキストの新規作成をメニューに加える方法

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。