Platforms to show: All Mac Windows Linux Cross-Platform

WordFileMBS class

Type Topic Plugin Version macOS Windows Linux iOS Targets
class Wordfile MBS Tools Plugin 15.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Word file editing.
dim f as FolderItem = GetFolderItem("test.docx")
dim b as BinaryStream = BinaryStream.Open(f)
dim d as string = b.Read(b.Length)
dim w as WordFileMBS = WordFileMBS.OpenData(d)

if w.ReplaceTag("FirstName", "Peter") then
if w.ReplaceTag("LastName", "Miller") then

f = GetFolderItem("output.docx")
if w.WriteFile(f) then
MsgBox "OK"
end if
end if
end if

This is a class for reading word files and replacing text to customize document files.
Works for xml and docx files. Does not support old doc file format.

Please report document files where plugin corrupted file or failed to replace text.
This is an abstract class. You can't create an instance, but you can get one from various plugin functions.

  • 7 properties
  • 18 methods
    • method addMediaFile(name as string, content as string)
    • method Append(other as WordFileMBS, AddPageBreak as boolean = false) as Boolean
    • method AppendTableRow(tag as string) as Integer
    • method Constructor   Private
    • method Contains(findText as string) as boolean
    • method DuplicateTableRow(tag as string) as Integer
    • method FieldNames as String()
    • method GetFieldText(fieldName as string, byref text as String) as boolean
    • method HasTag(tag as string) as boolean
    • method MediaFiles as String()
    • method Parts as String()
    • method RemoveTableRow(tag as string) as Integer
    • method ReplaceTag(tag as string, text as string = "", All as boolean = false) as boolean
    • method SetFieldText(fieldName as string, text as String) as boolean
    • method SetMarkers(openMarker as String, closeMarker as String) as boolean
    • method Substitute(findText as string, replaceText as string = "", All as boolean = false) as boolean
    • method Tags as String()
    • method WriteFile(path as folderItem) as boolean
  • 3 shared methods
    • shared method OpenData(Data as MemoryBlock) as WordFileMBS
    • shared method OpenData(Data as String) as WordFileMBS
    • shared method OpenXML(XML as String) as WordFileMBS

This class has no sub classes.

Some examples using this class:

Blog Entries

Xojo Developer Magazine


Release notes

  • Version 24.2
    • Improved ReplaceTag and Substitute functions in WordFileMBS class to remove control characters from replacement text to avoid creating broken word files.
  • Version 23.2
  • Version 22.5
    • Fixed problem in ReplaceTag for WordFileMBS class with all = true, where it returned error, but replaced tags.
  • Version 22.2
  • Version 22.0
    • Added support for tab character in text replacements with WordFileMBS class.
  • Version 21.5
    • Fixed an edge case for Substitute in WordFileMBS class not working correctly for text near the end of the document.
  • Version 21.4
    • Added Contains and Substitute methods to WordFileMBS class.
    • Fixed a case where removing a table row with WordFileMBS class would not be saved.
  • Version 21.0
  • Version 19.4
    • Fixed a bug in WordFileMBS class where it would not update the modified XML correctly for replace in header section.

The items on this page are in the following plugins: MBS Tools Plugin.

WMIObjectMBS   -   X509MBS

The biggest plugin in space...