5

現在、回避策としてプロンプト コマンドを使用して、Photoshop の JSX スクリプトから任意のテキストをコピーしています。

prompt("to copy",(horizontalcenter.toString()) + ", " + verticalcenter.toString());

そして、それは私が欲しい情報を私に与えています。「コピーする」はタイトルを与えるだけで、Photoshopからコピーしたい情報は、すでに選択されているプロンプトボックスにあります。したがって、コントロール C を押して、この情報が必要な Notepad++ に移動し、コントロール V を押すだけです。

動作しますが、より高速になる可能性があります。この情報を Photoshop から直接クリップボードにコピーする方法が必要ですよね?

4

2 に答える 2

6

Photoshop 13.1(PhotoshopCS6の最新のCreativeCloudリリース)にフックが追加され、これを直接実行できるようになりました。サンプル関数は次のとおりです。

function copyTextToClipboard( txt )
{
    const keyTextData         = app.charIDToTypeID('TxtD');
    const ktextToClipboardStr = app.stringIDToTypeID( "textToClipboard" );

    var textStrDesc = new ActionDescriptor();

    textStrDesc.putString( keyTextData, txt );
    executeAction( ktextToClipboardStr, textStrDesc, DialogModes.NO );
}

これは、13.1より前のバージョンのPhotoshopでは機能しないことに注意してください。

于 2012-12-21T01:54:40.413 に答える
5

Photoshop スクリプト フォーラムで答えを見つけました。

http://ps-scripts.com/bb/viewtopic.php?f=9&t=3097&p=15324&hilit=clipboard&sid=1b1cc023023b9f91ab46e30e48e2ab53#p15324

function copyTextToClipboard(text)
{
   var folderForTempFiles = Folder.temp.fsName;

   // create a new textfile and put the text into it
   var clipTxtFile =new File(folderForTempFiles + "/ClipBoard.txt"); 
   clipTxtFile.open('w'); 
   clipTxtFile.write(text); 
   clipTxtFile.close();

   // use the clip.exe to copy the contents of the textfile to the windows clipboard
   var clipBatFile =new File(folderForTempFiles + "/ClipBoard.bat"); 
   clipBatFile.open('w'); 
   clipBatFile.writeln("cat \"" + folderForTempFiles + "/ClipBoard.txt\"|clip"); 
   clipBatFile.close(); 
   clipBatFile.execute();
}

コピーするテキストを一時テキスト ファイルに配置し、そのテキスト ファイルからコピーします。テキストをテキスト ファイルに配置できることさえ知りませんでした。どうやら Photoshop の JavaScript 機能は、私が思っていたよりもはるかに強力です!

于 2010-11-03T05:51:44.027 に答える