Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Prüfen, ob Word-Dokument noch geöffnet ist

 
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
AS768
•->
•->


Anmeldedatum: 23.11.2010
Beiträge: 3

BeitragVerfasst am: 23.11.2010 - 14:48    Titel: Prüfen, ob Word-Dokument noch geöffnet ist Antworten mit Zitat

Hallo,

ich bin neu hier im Forum und AS-Anfänger.
Ich suche eine Möglichkeit, mit AS zu prüfen, ob
ein bestimmtes Word-Dokument noch geöffnet ist (das ganze soll dann später über ein Java-Programm abgefragt werden, und um den Java-Thread schließen zu können, müsste der halt wissen, ob die Word-Datei noch geöffnet ist...).

Danke.
Viele Grüße aus Berlin

Andreas
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
woodpecker
•--->
•--->


Anmeldedatum: 12.10.2010
Beiträge: 150
Wohnort: Roggentin/Rostock

BeitragVerfasst am: 24.11.2010 - 14:53    Titel: Antworten mit Zitat

AS768 hat Folgendes geschrieben:
Ich suche eine Möglichkeit, mit AS zu prüfen, ob
ein bestimmtes Word-Dokument noch geöffnet ist

Du hast nicht genau geschrieben, woran Du das bestimmte Dokument erkennen willst. (Am Namen oder am Inhalt oder an anderen Eigenschaften?)
Davon hängt es ab, was Du machen musst. Ich habe auch kein WORD, nur Pages, aber da geht es dann vermutlich ähnlich. Du musst dann ggf. ins Funktionsverzeichnis der betreffenden Applikation schauen.

In Pages könnte man z.B. folgendes machen:

Code:
try
   set Win to window index 1 of application "Pages"
on error
   # Pages nicht aktiv oder kein Dokument offen
   
   return
end try

Damit bekommst Du schon mal raus, ob die Anwendung geöffnet ist. Dann kannst Du weiter machen, z.B.:
Code:

tell application "Pages"
   set Dok to document of Win
   set Txt to text of Dok
   set propx to properties of Dok
end tell


in der Variablen Txt steht jetzt der Dokumenteninhalt und in propx der Name des Dokuments. Ich vermute, dass es in WORD so ähnlich geht. Aber das steht wie gesagt im Funktionsverzeichnis, was leider für einen Anfänger auch nicht ganz leicht zu lesen ist. Wenn Du aber nicht klarkommst, meldest Dich halt noch mal. Ich bin in AS auch ein ziemlicher Anfänger, aber ich weiß mir inzwischen ganz gut zu helfen. Nicht zuletzt auch durch dieses Forum. Also: dranbleiben.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
AS768
•->
•->


Anmeldedatum: 23.11.2010
Beiträge: 3

BeitragVerfasst am: 26.11.2010 - 14:12    Titel: Antworten mit Zitat

Hallo,
Vielen Dank erst mal.
das Dokument soll am Namen erkannt werden.
Habe es nun folgendermassen gelöst:

Code:

on DokuList()
   tell application "Microsoft Word" to get name of windows
end DokuList
set DokName to "Beispiel.docx" as string
set Ja to false as boolean
repeat with Durchlauf from 1 to (count items in DokuList())
   if (item Durchlauf in DokuList()) is equal to DokName then
      set Ja to true
   end if
end repeat
if Ja then
   tell application "Microsoft Word"
      close document DokName
   end tell
end if


Grüße

Andreas
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 10.12.2010 - 00:15    Titel: Antworten mit Zitat

naja, es geht auch etwas einfacher:

set DokName to "Beispiel.docx" as string
tell application "Microsoft Word"
   if document DokName exists then close document DokName
end tell
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
AS768
•->
•->


Anmeldedatum: 23.11.2010
Beiträge: 3

BeitragVerfasst am: 28.01.2011 - 18:09    Titel: Antworten mit Zitat

Vielen Dank, das ist in der Tat einfacher Smile.

Was ich nun nicht verstehe:

Wie unterscheidet Word denn, wenn es mehrere Dokumente gleichen Namens gibt, die geöffnet sind?

Wenn ich das richtig sehe, ist der Dokname ja nur der Name des Dokumentes ohne Pfad.

Viele Grüße aus Berlin

Andreas
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 28.01.2011 - 19:04    Titel: Antworten mit Zitat

AS768 hat Folgendes geschrieben:
Was ich nun nicht verstehe:
Wie unterscheidet Word denn, wenn es mehrere Dokumente gleichen Namens gibt, die geöffnet sind?


Musst Du nicht verstehen. Es wird nicht unterschieden. Es wird einfach das erste Dokument genommen, was nicht bei drei auf den Bäumen ist und den Namen trägt...

Der eigentliche Fehler liegt aber in deiner Fragestellung Wink :
AS768 hat Folgendes geschrieben:
das Dokument soll am Namen erkannt werden.


Du kannst es so lösen, indem Du auch den Pfad definierst:
set DokName to "blabla.doc" as string
set DokPath to "DeinePladde:Users:DeinName:Desktop:Ordner1:Ordner2"
-- (wichtig: beim letzten Ordner am Ende kein Doppelpunkt!)

tell application "Microsoft Word"
   if document DokName exists then
      set DokList to every document whose name is DokName
      repeat with checkPath in DokList
         if path of checkPath is DokPath then
            close checkPath
            exit repeat
         end if
      end repeat
   end if
end tell
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Fischer-Bayern.de Foren-Übersicht -> AppleScript X Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter