WD98: How to Use Other Converters with the FileFormat Property

ID: Q185055

The information in this article applies to:

SUMMARY

The SaveAs method of the Document object in Microsoft Visual Basic for Applications has an optional parameter called FileFormat that you can use to specify the save format for the document.

This article describes how to use the FileFormat property of the SaveAs method with a converter that is not supported with one of the supplied constants (values).

MORE INFORMATION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact the Microsoft fee-based consulting line at (800) 936-5200. For more information about the support options available from Microsoft, please see the following page on the World Wide Web:

   http://www.microsoft.com/support/supportnet/refguide/

FileFormat accepts the following built-in conversion constants:

   wdFormatDocument
   ----------------

   Save as a Word document.

   wdFormatText
   ------------

   Text Only: Saves text without its formatting. Converts all section
   breaks, page breaks, and newline characters to paragraph marks. Uses
   the ANSI character set. Select this format only if the destination
   program cannot read any of the other available file formats.

   wdFormatDOSText
   ---------------

   MS-DOS Text: Converts files the same way as Text only format
   (wdFormatText). Uses the extended ASCII character set, which is the
   standard for MS-DOS-based programs. Use this format to share documents
   between Word and non-Windows-based programs.

   wdFormatTextLineBreaks
   ----------------------

   Text only with line breaks: Saves text without formatting. Converts all
   line breaks, section breaks, and page breaks to paragraph marks. Use
   this format when you want to maintain line breaks, for example, when
   transferring documents to an electronic mail system.

   wdFormatDOSTextLineBreaks
   -------------------------

   MS-DOS text only with line breaks: Saves text without formatting.
   Converts all line breaks, section breaks, and page breaks to paragraph
   marks. Use this format when you want to maintain line breaks. For
   example, when transferring documents to an electronic mail system.

   wdFormatRTF
   -----------

   Rich Text Format (RTF): Saves all formatting. Converts formatting to
   instructions that other programs, including compatible Microsoft
   programs, can read and interpret.

   wdFormatTemplate
   ----------------

   Save as a Word template.

   wdFormatUnicodeText
   -------------------

   Saves as a Unicode text file. Converts text between common character
   encoding standards, inclucing Unicode 2.0, Mac OS, Windows, EUC and
   ISO-8859 series.

Macintosh Constants

The following constants are available only on the Macintosh:

   wdFormatCustomDictionary
   ------------------------

   Save as a custom dictionary.

   wdFormatExcludeDictionary
   -------------------------

   Create an exclude dictionary to specify a preferred spelling for a word
   (for example "gray" instead of "grey"), and add the unwanted version of
   the word to an exclude dictionary. The next time you check spelling, the
   spelling checker questions the word so you can change it to the version
   you want.

   wdFormatStationery
   ------------------

   Stationery is a special form of a document that you can use repeatedly
   as a master for similar documents. When a file is in stationery pad
   format, you cannot modify it. When you open a stationery pad, a new,
   untitled document appears that contains the text, styles, and other
   formatting of the stationery pad. The stationery pad itself does not
   open, so you cannot modify it.

Other File Types

If you record a macro that saves a file as a type not supported by one of the constants described earlier, the FileFormat property will contain a number. The following sample macro was recorded using HTML as the Save File As Type:

   Sub Macro1()
      ActiveDocument.SaveAs FileName:="myHTMLdoc", FileFormat:=103
   End Sub

Note the number 103 that was recorded for the HTML FileFormat argument. This number may not be the same on another computer.

To retrieve the correct FileFormat number for a conversion type for any computer, use the FileConverters collection. The following sample Visual Basic for Applications macro saves a document in HTML format on any computer:

NOTE: In the following example, replace "HTML" with the class name you want to Save As. For a list of class names, see the "Obtaining Class Names" section later in this article.

   Sub SaveAsHTML()
      Dim fcCnv As FileConverter
      Dim strClass As String
      Dim strFileName As String

      ' If there are no documents open to
      ' save, exit this routine.
      If Documents.Count = 0 Then Exit Sub

      ' Set the ClassName to use for saving.
      strClass = "HTML"

      ' Set the FileName to use for saving.
      strFileName = "MyHTMLdoc"

      ' Loop through all installed converters.
      For Each fcCnv In FileConverters
         With fcCnv
            ' Test for conversion ClassName.
            If .ClassName = strClass Then
               ' Save using the FileConverters.ClassName.
               ActiveDocument.SaveAs FileName:=strFileName, _
                  FileFormat:=.SaveFormat
            End If
         End With
      Next fcCnv
   End Sub

For more information about the SaveFormat Property, from the Visual Basic Editor, click the Office Assistant, type "SaveFormat," click Search, and then click to view "SaveFormat Property."

NOTE: If the Assistant is hidden, click the Office Assistant button on the Standard toolbar. If the Assistant is not able to answer your query, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q176476
   TITLE     : OFF: Office Assistant Not Answering Visual Basic Questions

Obtaining Class Names

The following list contains converters and class names installed by Word that you can use for saving a document:

   Converter                                  ClassName
   ----------------------------------------------------

   HTML Document                              HTML
   Word 4.0 for Macintosh                     MSWordMac4
   Word 5.0 for Macintosh                     MSWordMac5
   Word 5.1 for Macintosh                     MSWordMac51
   Word 6.0/95                                MSWord6Exp

To retrieve other class names for an installed converter to Save As, you can loop through the FileConverters collection.

The following sample macro loops through all installed converters that you can use for saving, and then inserts the converter name and associated class name into a blank document:

   Sub GetConvClassName()
     Dim fcCnv As FileConverter

     ' Create blank document.
     Documents.Add

     ' Loop through all installed converters.
      For Each fcCnv In FileConverters
         With fcCnv
            ' If the converter can be used to save...
            If .CanSave = True Then
               ' Insert the converter name and class name in the document.
               Selection.TypeText "Converter: " & .FormatName & vbTab _
                  & "ClassName: " & .ClassName & vbCr
            End If
         End With
      Next fcCnv
   End Sub

For more information about the ClassName property, from the Visual Basic Editor, click the Office Assistant, type "ClassName," click Search, and then click to view "ClassName Property."

REFERENCES

For additional information, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q181058
   TITLE     : OFF98: How to Run Sample Code from Knowledge Base Articles

For more information about getting help with Visual Basic for Applications, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q163435
   TITLE     : VBA: Programming Resources for Visual Basic for
               Applications

Additional query words: wordcon vba vbe vb
Keywords          : kbdta kbconversion kbdtacode OffVBA macword98 
Version           : MACINTOSH:98
Platform          : MACINTOSH
Issue type        : kbhowto

Last Reviewed: April 7, 1999