Hey TJ,

On Jul 02, 2011, at 15:33, TJ Luoma wrote:
> Problem: I want to open the front-most file in BBEdit in another application 
> by pressing some keyboard command.
> 
> Let's say the other application is TextEdit, but it could be any application.

Simple.  (See script below.)

> do shell script "open -e " & thepath
> 
> But I always get an error such as this:
> 
> "BBEdit got an error: Can't make POSIX path of text document into type POSIX 
> path of text document 1."


Let's start by fixing your script:

------------------------------------------------------------------------------------------------
tell application "BBEdit"
  set thefile to document 1 of application "BBEdit"
  set thepath to file of thefile --> returns an alias
  set thepath to POSIX path of thepath --> properly coerce alias to posix path
end tell

# Since Mac paths can contain spaces and characters that Posix doesn't like we 
quote the string:
set thepath to quoted form of thepath

do shell script "open -e " & thepath
------------------------------------------------------------------------------------------------

Now let's do it with pure Applescript and provide some error checking:

------------------------------------------------------------------------------------------------
try
  tell application "BBEdit"
    if front window exists then
      if class of front window is not in {shell window, scratchpad_window} then
        tell front text document of front window
          if its file ≠ missing value then
            set frontTextDoc to its file as alias
          else
            error "The Front Text Document Is Unsaved!"
          end if
        end tell
      else
        error "Front Window Is NOT A Text Document!"
      end if
    else
      error "No Windows Are Open!"
    end if
  end tell
  
  tell application "TextEdit"
    activate
    open frontTextDoc
  end tell
  
on error errMsg number errNum
  set sep to "=============================="
  set e to sep & return & "Error: " & errMsg & return & sep & return ¬
    & "Error Number: " & errNum & return & sep
  beep
  display dialog e
end try
------------------------------------------------------------------------------------------------

For my own use I usually won't put in so much error checking and will just let 
the generic error-handler catch whatever comes up.

Hmm.  A good beginner book...

Let's start out with some freebies:

The Applescript Language Guide:

http://developer.apple.com/library/mac/#documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html

http://developer.apple.com/library/mac/documentation/AppleScript/Conceptual/AppleScriptLangGuide/AppleScriptLanguageGuide.pdf

Old but worth having:

AppleScript Finder Guide - January 05, 1994:

http://manuals.info.apple.com/en_US/AppleScriptFinderGuide.pdf

AppleScript Scripting Additions Guide - January 05, 1996:

http://manuals.info.apple.com/en_US/0305098AASADDGENG.pdf

Applescript For Absolute Starters v1.4:

http://files.macscripter.net/sourcebook/AS4ASb2.pdf

--

The Applescript Users List (must join and lurk and ask questions):

http://lists.apple.com/mailman/listinfo/applescript-users

MacScripter:

http://macscripter.net/

--

Books I own:

"Learn Applescript: The Comprehensive Guide to Scripting and Automation on Mac 
OS X 3rd Edition" by Hamish Sanderson & Hanaan Rosenthol

"Applescript: The Definitive Guide 2nd Edition" by Matt Neuburg

"Applescript: Developer Reference" by Mark Conway Munro

If you only buy one I'd probably recommend the first one by Hamish and Hanaan.

I'm also interested in:

"Apple Training Series: AppleScript 1-2-3" by Sal Soghoian & Bill Cheeseman

I'm interested in this one because Bill is involved, and I've known him online 
for about 17 years.

Now then - I'll bet you got more than you bargained for.  :)

Drop me a line if you have any questions.

--
Best Regards,
Chris

-- 
You received this message because you are subscribed to the 
"BBEdit Talk" discussion group on Google Groups.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
<http://groups.google.com/group/bbedit?hl=en>
If you have a feature request or would like to report a problem, 
please email "[email protected]" rather than posting to the group.
Follow @bbedit on Twitter: <http://www.twitter.com/bbedit>

Reply via email to