Moving from Microsoft Office VBA to AppleScript:
MacTech's Guide to Making the Transition
Introduction
|
Table of Contents
Page Prev and Page Next buttons at bottom of the page.
|
April, 2007
Page 21
Be ware that when you set an attached template to a document, you will get the Macro Alert warning if your Preferences have that option checked in Security preferences and your template contains macros. (It looks as if you could turn that off temporarily via the automation security property in application, but that doesn't seem to work, which is probably a good thing. It's probably not a bug, but an intentional security feature. They ought to remove it rather than disable it, however.) Of course this should not be an issue in Office 2008 where macros won't work anyway.
Here's the workaround:
set templatePath to "Mac HD:Applications:" & Â
"Microsoft Office 2004:My Templates:Test Template.dot"
tell application "Microsoft Word"
set newDoc to make new document
set attached template of newDoc to templatePath
insert file at text object of newDoc file name templatePath
end tell
Since we need to use the template path twice we set a variable templatePath to it. If you want to include the page setup settings (the margins, etc.) – a good idea – use the following longer version. It feels like a bit of a hack to have to open the template, but it's so instantaneous that you may not even notice it (its text is the same as the document will have a moment later):
set templatePath to "Mac HD:Applications:" & Â
"Microsoft Office 2004:My Templates:Test Template.dot"
tell application "Microsoft Word"
activate
set newDoc to make new document
set attached template of newDoc to templatePath
set theTemplate to attached template of newDoc -- a template object now
set editableTemplate to open as document theTemplate -- a document
set pageSetupProps to properties of (get page setup of editableTemplate)
set lineNumberProps to properties of (get line numbering of pageSetupProps)
close editableTemplate saving no
tell page setup of newDoc
set its properties to pageSetupProps
tell its line numbering
set its properties to lineNumberProps
end tell
end tell
< Previous Page Next Page>
- SPREAD THE WORD:
- Slashdot
- Digg
- Del.icio.us
- Newsvine