AE Extendscript文本图层光标控件

时间:2013-06-30 08:56:19

标签: extendscript after-effects

我正在尝试使用AE Extendscript将AE中的一些文本复制到系统剪贴板中。 After Effects不直接在Extendscript中提供此功能。

我可以将文本放在文本层上,然后将其复制到剪贴板:

app.executeCommand(app.findMenuCommandId("Copy"));  

但要做到这一点,必须选择文本。 可以通过以下方式完成:

app.executeCommand(app.findMenuCommandId("Select All"));   

但是,光标必须位于该字段中才能工作。

我正在尝试将光标放在带有After Effects中的Extendscript的文本层文本字段中。 无论如何我都看不到这样做。

我已经设法使用.bat方法将变量的值复制到系统剪贴板,但这不适用于所有系统。最好的办法是留在AE内。

有没有人知道如何控制AE Extendscript中的文本光标?

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

如何使用vbs脚本和sendkeys?您可以创建脚本来执行sendkeys事务(因为您无法在javascript中执行此操作),然后使您的javascript文件在适当的位置调用vbs脚本。

答案 1 :(得分:0)

以下是Extendscript中的作用:

//This works on Vista and Win 7,  XP requires the user to copy 'clip.exe' to the 'sys32' folder.
function copyTextToClipboard2(text)
{
   var folderForTempFiles = Folder.temp.fsName;
   //alert(folderForTempFiles)
   // 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("clip < " + folderForTempFiles + "/ClipBoard.txt"); 
   clipBatFile.close(); 
   clipBatFile.execute();
}

有没有人有类似的苹果?

答案 2 :(得分:0)

我在After Effects CC的Mac上对此进行了测试,效果很好:

text = 'Lets copy some 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();

system.callSystem("cat " + folderForTempFiles + "/ClipBoard.txt" + " | pbcopy");