• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: writing text to MS Word
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: writing text to MS Word


  • Subject: Re: writing text to MS Word
  • From: Hudson Barton <email@hidden>
  • Date: Wed, 1 Jun 2005 14:32:13 -0400

I have no doubt you are correct in saying that the text result of a shell script is often a unicode string rather than an ascii string. Most text editors don't care what it is, but Word X does care. I am satisfied that my problem is solved as soon as I have a way to coerce unicode strings to ascii strings efficiently. Unfortunately, "set blah to result as string" does not coerce from unicode to ascii. The "as string" coercion works for lists, but it's not for unicode.

I do have one way of coercing that's not too bad...if you have a sense of humor. I write the result of the shell script to a POSIX file and then read back the text. By "washing" it through the POSIX file, I get an ascii string.

H.


At 10:27 AM -0700 6/1/05, Paul Berkowitz wrote:
On 6/1/05 10:14 AM, "Andrew Oliver" <email@hidden> wrote:

 On 6/1/05 10:04 AM, "Hudson Barton" <email@hidden> wrote:

 I have some output from a shell script that is supposed to be regular
 text and if I move it into most text editors, it looks, feels and
 acts just like regular text.  But apparently it's not.  I need to
 move the text into a window of Microsoft Word (version 10), and it's
 producing errors like "Can't set every text of window 1 to ..."
 What's going on here?

 If I convert each character first to an ascii number and then back to
 an ascii character, then it works fine, but that's not practical.
 Is there an easier way to coerce this string to a regular ascii
 string?

 My script says:

 set str to result ---result of shell script
 tell application "Microsoft Word" to set text of window 1 to str

Despite what the dictionary says, 'do shell script' will return unicode text, not 'regular text' (whatever that may be).

 My guess is that you may need to coerce the shell script result to type
 'string' before Word will take it, either:

  set str to (do shell script "blah" as string)
  tell application "Microsoft Word" to set text of window 1 to str

 or:

  set str to do shell script "blah"
  tell application "Microsoft Word" to set text of window 1 to (str as
 string)



I would not count on being able to script Word X to do anything like this
reliably. Although its dictionary may claim to do things like this it
usually won't work. Or it will crash.  You'd have to do it via 'do Visual
Basic', which is much more complicated. Word 2004 is another matter - it
will be scriptable, but not like that. Its object hierarchy is more
complicated (mirroring the 'do Visual Basic' method, but with the dictionary
and an AppleScript Reference available).

Here's a reference to getting 'do Visual Basic' working for Word X:

<http://www.word.mvps.org/MacWordNew/WordAppleScript.htm>

In Safari, you have to refresh the page a few times to get it to show up.
You have to use the Visual Basic Editor Help (in Word) to learn the VBA code
needed.

And in Word X, you do have to use string as Andrew says (although I'd expect
the Unicode to coerce to string OK, even implicitly). For Word 2004, Unicode
is in fact what's expected (although string works OK too).


-- Paul Berkowitz


_______________________________________________ Do not post admin requests to the list. They will be ignored. Applescript-users mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Applescript-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: writing text to MS Word
      • From: Paul Berkowitz <email@hidden>
References: 
 >Re: writing text to MS Word (From: Paul Berkowitz <email@hidden>)

  • Prev by Date: Re: Scripting Mail.app suggestions requested
  • Next by Date: Re: writing text to MS Word
  • Previous by thread: Re: writing text to MS Word
  • Next by thread: Re: writing text to MS Word
  • Index(es):
    • Date
    • Thread