Hur ta ut modification date på InD-dokument?

Tråden skapades och har fått 6 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • 2008-02-19 10:33

Jag kan inte ta ut modification date på InDesigndokument genom InDesign. Detta fungerar inte:

tell application "Adobe InDesign CS2"
	set myDoc to active document
end tell
tell application "Finder"
	set myDate to modification date of myDoc as string
	set myName to name of myDoc
	display dialog myName & " ändrades " & myDate
end tell

fast detta fungerar:

tell application "Finder"
	set myItem to item 1 of desktop
	set myDate to modification date of myItem as string
	set myName to name of myItem
	display dialog myName & " ändrades " & myDate
end tell

Varför?

Ok, du har nog tänkt lite rätt, men lite fel också

För att Finder ska kunna ge dig ett modification date måste det ha ett objekt det förstår, t.ex. ett "finder item" eller en sökväg etc. När du skickar variabeln "myDoc" så innehåller det ett InDesign document object, som bara InDesign förstår. Du kan heller inte omvandla ett sånt till en sträng, istället måste du fråga efter en egenskap hos dokumentet som heter "full name", och som är sökvägen till det, och du kan sedan skicka in det Finder

MEN, i just InDesigns fall kan du göra det ännu enklare, för InDesign kan själv hålla reda på datumet, via en egenskap i "metadata preferences"

I följande kod ser du exempel på båda varianterna

tell application "Adobe InDesign CS2"
	tell active document
		set myDirectFromIDdate to modification date of metadata preferences
		set myPath to full name
	end tell
end tell

tell application "Finder"
	set myFinderModDate to modification date of myPath
end tell
  • Medlem
  • 2008-02-19 12:59

Okej, tack.

Jag stöter på ett annat litet probleml, men det ska jag inte fråga om än. Jag har mina teorier...:

  • Medlem
  • 2008-02-19 13:39

Jag kan inte tillämpa detta. Ett dokument jag har öppet antingen lokalt eller på en filserver ska jämföras med en kopia på en annan filserver. Det blir olika mod date ända tills jag upppdaterar Finder genom att titta på filen i Finder.
Illa.

Finder kan spela en riktigt fula spratt. De påstås ha fått ordning på det där i Leopard, men jag har inte bekräftat det.

Du kan kanske använda ett shell script istället, så här

set myFilePath to quoted form of (POSIX path of "Macintosh HD:RA_FSlog_Prettyfied.txt")

do shell script "stat -f \"%Sm\" -t \"%Y-%m-%d %H.%M.%S\" " & myFilePath
  • Medlem
  • 2008-02-20 11:14

Det skiter sig igen. Jag tror att jag får till det, men det verkar som att skriptet betraktar kopieringen som en ändring av dokumentet. Kan det ha med namnbytet att göra?

Följande dialog(er) får jag när jag kör skriptet utan att göra några ändringar i dokumentet mellan körningarna.

  • Medlem
  • 2008-02-20 11:31

Jag löser det så här:

if myOriginalDate is greater than myBackupDate then
display dialog ...

Finns det risker med det som jag har förbisett?

1
Bevaka tråden