Topics   All   Mac OS X (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Guides   Examples
New in version: 7.4   7.5   8.0   8.1   8.2   8.3   8.4   8.5   9.0   9.1    Statistic  


Writes current rich text to a file.

Component Version macOS Windows Server FileMaker Cloud FileMaker iOS SDK
RichText 4.4 Yes No Yes, macOS only No Yes
MBS( "RichText.WriteFile"; Path; Format )   More


Parameter Description Example value
Path The native file path. "/Users/cs/Desktop/test.doc"
Format The file format to use. Can be DOC, DOCX or RTF. "DOC"


Returns OK or error.


Writes current rich text to a file.
Please pass format type:
  • doc: creates old style Word document
  • rtf: created rich text file.
  • docx: creates newer Word document.
  • html: creates html file.
  • webarchive: creates html and renders web archive.
  • opendocument: creates open office document.

Warning: The plugin can only read/write the styles/formats which Apple supports for their cocoa framework.

This function requires a native path. Use Path.FileMakerPathToNativePath to convert a FileMaker path to a native path if required. If you like to have the user choose the path, you can use FileDialog functions.
For Server be aware that server has limited permissions and may not be able to access all files on a computer.


Read a file, apply replaces and save it:

# load from container
Set Variable [$r; Value:MBS("RichText.ReadContainer"; Replace Text in Word File::InputContainer)]
If [MBS("IsError")]
    Show Custom Dialog ["Error"; "Failed to read file."]
    Exit Script []
End If
# now loop through records to do replaces
Go to Record/Request/Page [First]
    Set Variable [$r; Value:MBS("RichText.ReplaceText"; Replace Text in Word File::Old Text; Replace Text in Word File::New Text)]
    Go to Record/Request/Page [Next; Exit after last]
End Loop
# write file
Set Variable [$r; MBS("RichText.WriteFile"; Replace Text in Word File::path; Replace Text in Word File::format)]
# cleanup
Set Variable [$r; Value:MBS("RichText.Release")]

Save as docx, the newer XML based Word file format:

# Word, new format
Set Variable [ $path ; Value: $folder & "/test.docx" ]
Set Variable [ $r ; Value: MBS( "RichText.WriteFile"; $path; "docx" ) ]

Save an old doc:

# Word, old format
Set Variable [ $path ; Value: $folder & "/test.doc" ]
Set Variable [ $r ; Value: MBS( "RichText.WriteFile"; $path; "doc" ) ]

Save as RTF:

Set Variable [ $path ; Value: $folder & "/test.rtf" ]
Set Variable [ $r ; Value: MBS( "RichText.WriteFile"; $path; "rtf" ) ]

See also

Example Databases

Created 16th October 2014, last changed 14th August 2017

RichText.WriteDOC   -   RichText.WritePDF

Feedback: Report problem or ask question.

MBS Xojo Plugins