Platforms to show: All Mac Windows Linux Cross-Platform

Back to WordFileMBS class.

WordFileMBS.addMediaFile(name as string, content as string)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 19.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Adds a media file image.

You can use this function to add a new image.
You need to add the reference in XML yourself to let the image appear somewhere in the document.

WordFileMBS.Append(other as WordFileMBS, AddPageBreak as boolean = false) as Boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 17.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Appends one word file text to other.

This function takes document part from other word file and copies it’s xml nodes to the current document.
Please only copy from one document to other if they both are made from same template, so internal IDs for styles match.
Returns true on success or false on failure.

Added AddPageBreak parameter in version 19.2. If true, we add a page break between the old and new parts.

WordFileMBS.AppendTableRow(tag as string) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 17.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Duplicates a table row containing a placeholder.

If you have tables in your template word file and you like to duplicate it, this function can do that and add the new row on the end of the table.

Returns Values
0success
1Tag not found.
2Tag found, but not in a table.
3Missing main document part.

WordFileMBS.Constructor   Private

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 15.4 ✅ Yes ✅ Yes ✅ Yes ❌ No Desktop only
The private constructor.

WordFileMBS.Contains(findText as string) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 21.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Checks if some text exists in the document.

This is like HasTag function, but doesn't require markers around the text in the document.

WordFileMBS.DuplicateTableRow(tag as string) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 17.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Duplicates a table row containing a placeholder.

If you have tables in your template word file and you like to duplicate it, this function can do that and add the new row on just after the row to copy.

Returns Values
0success
1Tag not found.
2Tag found, but not in a table.
3Missing main document part.

WordFileMBS.FieldNames as String()

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 17.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Queries field names in the file.

This looks for form fields in a word file.

WordFileMBS.GetFieldText(fieldName as string, byref text as String) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 17.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Queries field value.

The plugin looks for the field with given name and queries it's text.
Returns true if field was found.

WordFileMBS.HasTag(tag as string) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 15.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Checks if a tag exists.

The place holder in the document must start with « and end with » characters. The place holder you pass here, should not have those quotes.
Returns true on success or false on failure.

If you change font or style of the text within the marker, it will not be recognized. So please keep all text between and including the « and » markers (or whatever is configured) within the same font style.

WordFileMBS.MediaFile(name as string) as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property Wordfile MBS Tools Plugin 16.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Queries or replaces the content of a media file.
Example

Dim word As WordFileMBS // open word document

// name one
Dim name As String = "image1.jpg"

// or pick from list
'Dim MediaFiles() As String = word.MediaFiles
'Dim name As String = MediaFiles(0) // first one

// load image
Dim ImageFile As FolderItem = SpecialFolder.Desktop.Child("new.jpg")
Dim ImageStream As BinaryStream = BinaryStream.Open(ImageFile)
Dim ImageData As String = ImageStream.Read(ImageStream.Length)

word.MediaFile(name) = ImageData

You can use this to extract images from word file.
Or to replace a placeholder image with the real image.
For replacement please make sure file type and dimensions match.
Raises KeyNotFoundException if media file with given name is not found.
(Read and Write computed property)

WordFileMBS.MediaFiles as String()

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 16.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Lists the media files in the word document.
Example

// read a word file:
Dim file As New FolderItem("c:\tmp\test.docx", folderitem.PathModes.Native)
Dim wordStream As BinaryStream = BinaryStream.Open(file)
Dim wordData As String = wordStream.Read(wordStream.Length)
wordStream.close
Dim word As WordFileMBS = WordFileMBS.OpenData(wordData)

// now show list of files in message box
Dim MediaFiles() As String = word.MediaFiles
MessageBox Join(MediaFiles, EndOfLine)

e.g. image1.png

WordFileMBS.Parts as String()

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 16.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Queries names of the parts of the document.
Example
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)

MsgBox w.XML("footer1")

This may tell you how many headers/footers we found in a docx file.
e.g. "footer1", "header1", "document".

WordFileMBS.RemoveTableRow(tag as string) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 17.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Removes a table row containing a placeholder.

If you have tables in your template word file and you only fill some rows, you can remove superfluous rows using this function.

Returns Values
0success
1Tag not found.
2Tag found, but not in a table.
3Missing main document part.

WordFileMBS.ReplaceTag(tag as string, text as string = "", All as boolean = false) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 15.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Replaces a placeholder with text.
Example
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

The place holder in the document must start with « and end with » characters. The place holder you pass here, should not have those quotes.
Returns true on success or false on failure.
If you need to replace multi line text like addresses, please use several placeholders, at least one per line.

Version 17.0 and newer can handle multi line text better for normal paragraphs with Chr(13). It creates for you new paragraphs for each line in the new text.

If you change font or style of the text within the marker, it will not be recognized. So please keep all text between and including the « and » markers (or whatever is configured) within the same font style.

Some examples using this method:

WordFileMBS.SetFieldText(fieldName as string, text as String) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 17.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Sets field value.

The plugin looks for the field with given name and sets it's text.
Returns true if field was found.

WordFileMBS.SetMarkers(openMarker as String, closeMarker as String) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 16.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Sets the markers to look for before/after a tag.

Default are « and ».
Should be different and not empty.
Returns true on success or false on failure.

WordFileMBS.Substitute(findText as string, replaceText as string = "", All as boolean = false) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 21.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Replaces some text in the document with new text.

Like ReplaceTag function, but without markers around the tag.

Handles multi line text better for normal paragraphs with Chr(13). It creates for you new paragraphs for each line in the new text.

If you change font or style of the text within the find text, it will not be recognized. So please keep all text within the same font style.

WordFileMBS.Tags as String()

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 22.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Queries list of tags.

Depends on the start/end markers set with OpenMarker/CloseMarker properties.

Can be very useful for debugging to query list of tags found in the document.

WordFileMBS.WriteFile(path as folderItem) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Wordfile MBS Tools Plugin 15.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Writes a file to disk.
Example
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

File extension should be correct, either docx or xml depending on what you loaded.

Some examples using this method:

WordFileMBS.XML(part as String) as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
property Wordfile MBS Tools Plugin 16.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Queries/Sets XML for a part.

See Parts array for possible parts.
(Read and Write computed property)

See also:

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


The biggest plugin in space...