PowerPoint'in AppleScript'te PDF olarak kaydetmesi yazdırma işine neden oluyor


1

Bir PowerPoint pptx dosyasını komut satırından PDF olarak kaydetmek için küçük bir AppleScript var. Senaryoyu her 6 ayda bir kullanıyorum ve geçen sonbaharda hala çalışıyordu. Ama bugün sorunlarla karşılaşıyorum. Bu arada 10.14’e gittim ve sanırım Office için Mac’te de bazı güncellemeler vardı. Ancak bu sorunun nereden geldiğine dair hiçbir fikrim olmadığı için, bunlar da tamamen alakasız bilgi olabilir.

Komut dosyasındaki sorun şudur: Komut dosyasını çağırırken, bir PDF'yi kaydetmez, ancak dosyayı varsayılan yazıcıya gönderir.

İşte zaten güncellenmiş, ancak hala çalışan bir komut dosyası:

on run arguments
    tell application "Finder"
        set src to POSIX file (first item of arguments) as alias
        set dest to (second item of arguments) as text

        open src
        delay 10

        tell application "Microsoft PowerPoint"
            save in dest as save as PDF
            close
        end tell
    end tell
end run

Çok fazla kod olmadığından ve komut dosyası daha önce çalıştığından, şu an neyin yanlış olduğu konusunda hiçbir fikrim yok.

@ MaxWyss'ın yorumu bana komut satırından komut dosyasına bakmamı sağladı. Osascript ile birkaç adımı argüman olarak yürüttüm:

$ osascript -e 'tell application "Finder"' -e 'set fileAlias to POSIX file ("file:///Users/me/folder/file.pptx") as alias' -e 'set theOutputPath to ("file:///Users/me/folder/test.pdf") as text' -e 'open fileAlias' -e 'delay 10' -e 'tell application "Microsoft PowerPoint"' -e 'save in theOutputPath as save as PDF' -e 'end tell' -e 'end tell'
281:320: execution error: Microsoft PowerPoint got an error: Parameter error. (-50)

Hata mesajına biraz şaşırdım, bu yüzden komut dosyasını tekrar çalıştırmayı denedim:

$ osascript pptx2pdf.scpt file:///Users/me/folder/file.pptx test.pdf
pptx2pdf.scpt: execution error: Microsoft PowerPoint got an error: Parameter error. (-50)

Neden bu hatayı gözden kaçırdım bilmiyorum. Sanırım senaryoda değiştirdiğim birçok şey yüzünden. Bununla birlikte, bu, slaytlar hala yazıcı kuyruğuna gönderildiğinden maalesef beni hala ipucu olmadan bırakan bir hata mesajıdır.


Adımları el ile, komut dosyası olmadan yaparsanız ne olur?
Max Wyss

@MaxWyss "El ile" ile ne demek istiyorsunuz? Beklenildiği gibi Powerpoint çalışmasında "kaydet" ve "Ver" gibi. Yoksa senaryo talimatlarını bir terminalde çalıştırmak mı istiyorsunuz? İkincisi, bunu nasıl yapabilirim?
PVitt

Aslında, "el ile" ile programın kullanıcı arayüzlerini kullanarak komut dosyası ile ne yapmak istediğinizi yapmak istedim. Bununla birlikte, mesajdaki güncellemen bana başka bir fikir verdi… Özellikle, oldukça ciddi El Yazmaları yapıyorsanız, Geç Gece Yazılımının Script Hata Ayıklayıcısına yatırım yapmak her kuruşa değecektir… Bu kesinlikle konuyu bulmanıza yardımcı olacaktır. Ayrıca, PowerPoint'in Applescript sözlüğüne bakma ve parametrelere yardımcı olma imkanı sunar.
Max Wyss

@MaxWyss Tavsiyeniz için teşekkürler, ancak sözlük gerçekten yardımcı olmuyor. Yazıyor save [in file], ancak ikinci argümanı bir dosya veya POSIX dosyası yapamıyorum. Bu gerçekten can sıkıcı bir durum. Sanırım, onları elle patlatmam gerekiyor ...
PVitt

Benim de bu problemim var. Powerpoint'in çocukça olması bir CLI'ye bile maruz kalmaması utanç verici.
HappyFace
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.