2013-06-30 2 views
2

AE Extend 스크립트를 사용하여 AE에서 일부 텍스트를 시스템 클립 보드로 복사하려고합니다. After Effects는 Extend 스크립트에서이 문제를 직접 제공하지 않습니다.AE Extend 스크립트 텍스트 레이어 커서 컨트롤

은 내가 textlayer의 텍스트를 넣어 다음으로 클립 보드에 복사 할 수 있습니다 :

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

그러나 텍스트를 선택해야합니다 그렇게 할 수 있습니다. 함께 할 수있는 는 :

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

그러나, 커서는 그 작동하려면 현장에 있어야합니다.

나는 After Effects에서 Extendscript를 사용하여 텍스트 레이어 텍스트 필드에 커서를 놓으려고합니다. 어쨌든 그렇게 할 수 없습니다.

이미 변수의 값을 .bat 메서드를 사용하여 시스템 클립 보드로 복사했지만 모든 시스템에서 작동하지는 않습니다. 가장 좋은 방법은 AE에 머무르는 것입니다.

누구든지 AE Extendscript에서 텍스트 커서를 제어하는 ​​방법을 알고 있습니까?

아이디어가 있으십니까?

+0

아니고 대답하지만 당신은 커서를 사용해야합니까? sourceText 속성을 통해 TextLayer에서 텍스트를 가져올 수 있습니다. if ((app.project.activeItem.selectedLayers [0] instanceof TextLayer)) { alert (app.project.activeItem.selectedLayers [0] .sourceText.value); } – fabianmoronzirfas

+0

그렇지만 코드의 클립 보드에 복사 할 방법이 없습니다. .bat 파일이나 사과 스크립트 파일을 만들지 않고서는 텍스트를 선택한 다음 app.execute ... copy 명령을 사용하면됩니다. – terrachild

답변

0

VB 스크립트 및 sendkeys을 사용하는 것은 어떻습니까? 당신은 자바 스크립트에서 그것을 할 수 없기 때문에 sendkeys 일을하기위한 스크립트를 만들 수 있으며 자바 스크립트 파일을 적절한 위치에 vbs 스크립트를 호출하십시오.

//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(); 
} 

사람이 사과 동등한 밖으로 일이 있습니까 : 여기

+0

다른 플랫폼에서 작동하도록 만들려고합니다. 이미 Win에서 .bat 파일로 작업하고 있기 때문에, 누군가가 이미 알아 낸 것과 똑같은 앱을 가지고있을 것입니다. – terrachild

+0

자바 스크립트로 sendkeys를 할 수 없습니다. 나는 당신이 이미 그것을 알고 있다고 생각합니다. 아 ~. – bgmCoder

0

은 수정 ExtendScript에서 작동 무엇인가?

+0

우연히 위의 Mac 버전을 게시했습니다. 그것은 콘솔이나 터미널을 사용하지 않고 잘 작동합니다. 'system.callSystem'과 'pbcopy'를 사용합니다. 그래도 작동하도록 'clip.exe'를 사용하여 Windows 버전을 얻을 수 없습니다. Windows 문제를 여기에 새로운 질문으로 옮겼습니다. [link] (http://stackoverflow.com/questions/34702235/is-windows-clip-blocked-in-adobe-extendscript) – terrachild

0

나는 효과 CC 후 맥에서이 테스트를했습니다, 그리고 그것은 잘 작동 :

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"); 
+0

Windows에서 'pbcopy'대신 'clip'을 사용하지만, 시도한 것에 상관없이 'system.callSystem'을 'clip'과 함께 사용할 수 없습니다. Windows에서 차단됩니까? – terrachild