Путь и имя открытого файла, Java или VB скрипт

Статус
Закрыто для дальнейших ответов.

pokoscha

Участник
Топикстартер
Сообщения
6
Реакции
0
Ситуация следующая:
Нужно скопировать в буфер обмена путь текущего открытого файла.
В меню фотошопа его нигде не выцепить.
В реестре(ключ последнего открытого файла) создается каждый раз ключ с разным именем, соотв. его тоже не скопировать автоматом.

на Яве пытался так
app.bringToFront();

myDocPath = app.activeDocument.fullName;

var w = new Window ('dialog', 'Имя файла', [0, 0, 180, 90]);
w.add ('statictext', [15, 15, 65, 35], 'Name:');
w.name = w.add ('edittext', [70, 15, 165, 35], 'myDoc');
w.name.active = true;
w.ok = w.add ('button', [40, 55, 140, 75], 'OK', { name:'ok' });
w.center();
var ok = w.show() == 1;

выводиться не значение myDoc, а сам текст "myDoc"

вывести можно только в нередактируеммое окно командой
alert(myDocPath);
соотв. скопировать в буфер на яве не получается

на VB
можно передать в окно, но нужна форма, которую не знаю как создать
Option Explicit

Dim appRef
Dim myDocPath

Set appRef = CreateObject("Photoshop.Application")
appRef.BringToFront
myDocPath = appRef.ActiveDocument.FullName
Set MyData = New DataObject
TextBox1.Value = myDocPath
MyData.SetText TextBox1.Text
MyData.PutInClipboard

Есть у кого идеи?
 

Shlyapa

Участник
Сообщения
4 838
Реакции
1
Ответ: Путь и имя открытого файла, Java или VB скрипт

Нужно скопировать в буфер обмена путь текущего открытого файла.
Property ActiveDocument As Document
Member of Photoshop.Application
the frontmost document


Property Path As String
read-only
Member of Photoshop.Document
the path of the document

Ну или тот же FullName.
 

Shlyapa

Участник
Сообщения
4 838
Реакции
1
Ответ: Путь и имя открытого файла, Java или VB скрипт

В общем, вот:

PHP:
Option Explicit

Dim appRef
Dim myDoc
Dim myDocName
Dim myDocPath
Dim myDocFullName

Set appRef = CreateObject("Photoshop.Application")
Set myDoc = appRef.ActiveDocument
myDocName = myDoc.Name
myDocPath = myDoc.Path
myDocFullName = myDoc.FullName
MsgBox "myDocName: " & myDocName & Chr(13) &_
	   "myDocPath: " & myDocPath & Chr(13) &_
	   "myDocFullName: " & myDocFullName
 

Shlyapa

Участник
Сообщения
4 838
Реакции
1
Ответ: Путь и имя открытого файла, Java или VB скрипт

Ёлы-палы, пока до меня допёрла главная загвоздка…


В общем, вот на что набрёл: www.script-coding.info/WshExtra.html
 

pokoscha

Участник
Топикстартер
Сообщения
6
Реакции
0
Спасибо!

Пренаогромнейшие благодарности. Работает!
 

Shlyapa

Участник
Сообщения
4 838
Реакции
1
Ответ: Спасибо!

А вставляется куда угодно вызовом Paste вручную по завершении работы скрипта или только самим скриптом во время его выполнения?
 

pokoscha

Участник
Топикстартер
Сообщения
6
Реакции
0
Ответ: Путь и имя открытого файла, Java или VB скрипт

Вообще работает связка photoshop(батч *.atn) + automate v6.
Automate копирует имя файла из буфера, а там с ним можно делать что угодно.
Cоотв. на выходе получаем возможность сразу обзывать имена и пути для сохранения файлов автоматом(при учете, что Automate может кнопки сам нажимать - я вообще не участвую в работе).
Напр. проблема в том, что при обработке батчем в фотошопе подпапок, там могут встретиться файлы с одиннаковыми именами, а таким способом я беру файл, добавляю счетчик к имени и сохраняю откуда открыл, а не в одну папку все файлы скопом.
Ну вообщем и т.д.
Хотя в фотошопе есть какие-то переменные, но я так и не разобрался как ими пользоваться, мне скриптами проще.
 

Shlyapa

Участник
Сообщения
4 838
Реакции
1
Ответ: Путь и имя открытого файла, Java или VB скрипт

Хотя в фотошопе есть какие-то переменные, но я так и не разобрался как ими пользоваться, мне скриптами проще.
Как знать…
 

Вложения

  • batch.png
    batch.png
    24.4 КБ · Просм.: 1 021
Статус
Закрыто для дальнейших ответов.