home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 5 Edit
/
05-Edit.zip
/
wvhtm064.zip
/
notes
/
macros-notes
/
LWM110.ZIP
/
LWM.TXT
< prev
Wrap
Text File
|
1997-06-01
|
6KB
|
124 lines
List Word Macros
LWM version 1.10
Minimal Documentation
1 June 1997
Legal
~~~~~
Program and documentation are Copyright 1997 by Mike Janda, Madison, WI USA.
All rights reserved. Distribution and use of this program are free. No fee
may be charged for the use and/or distribution of the program. Do not modify
the program and redistribute it. Do not distribute the program in archives
containing computer viruses, source code or virus listings.
As usual, there is no warranty or guarantee that this program will function
correctly. Use it at your own risk. Also, it is a good idea to scan the
program for viruses and trojans BEFORE using it.
Introduction
~~~~~~~~~~~~
LWM will allow you to safely examine the macros present in Word version 6 and 7
templates without the need to load the file into Word and possibly activate a
virus or trojan that could delete files, format the drive or install a virus on
your system. Since LWM does not use Word (or Windows!) to read the file, there
is no chance that any malicious macros can do anything to your system. Just
run LWM with the name of the Word template and it will write out a new file
with the extension 'mac' containing all the macros listed much like they would
be listed in Word (see program notes below for some exceptions).
System Requirements
~~~~~~~~~~~~~~~~~~~
A PC (8088 CPU or above) running MS/PC/DR-DOS 2.0 or above. If you're running
Windows or OS/2, run it in a DOS window. Memory requirements are variable.
The program will require at least 128K of conventional memory to start and will
use up to the 640K DOS limit, depending on the size and complexity of the file
being examined. The program does not use any XMS or EMS memory, even if it is
available.
Usage
~~~~~
Enter on the command line:
LWM filename.ext
where 'filename.ext' is the name of a Word template file. Drive and path names
are allowed. Wildcards (* and ?) are not allowed. The Word file will not be
modified, but it is always a good idea to work with a backup file. The output
file will have the same filename and the extension 'mac' (e.g., 'filename.mac')
in the same directory as the input file. If the output file already exists, it
will be overwritten. If the file being examined ends with a 'mac' extension,
it will be overwritten. The program offers no warning when it does this, so
consider yourself warned here.
If the Word file is protected by a password, the program will prompt for the
password. Type in the correct password and press Enter. Just pressing Enter
will cause the program to terminate, as will an incorrect password.
Program Notes
~~~~~~~~~~~~~
LWM is able to read and correctly process most Word 6.x and 7.x files. The
output listing is quite close to what Word produces with a few exceptions.
Windows uses the ANSI character set, while DOS uses the ASCII character set
with the IBM extensions. ANSI and ASCII are basically the same for the lower
characters (0-127), but differ substantially for the higher characters
(128-255). LWM uses the ASCII (with IBM extensions) character set. Most
symbols and non-English language characters will not be correctly displayed.
No attempt is made to translate the ASCII characters to ANSI.
Several versions of Word offer Unicode support which has the ability to handle
65,536 different characters (useful for Asian languages). DOS doesn't handle
Unicode very well, so LWM displays Unicode as a series of hexadecimal digits
separated by hyphens (e.g., A6DB-B0CA-B0F5-A6E6-A143). If there are ANSI text
characters (0-255) imbedded in the Unicode text string, they will be displayed
as ASCII (see above paragraph for limitations).
Word offers a line break (Shift-Enter) which can be used in comments. Line
breaks are marked with a "" so they can be easily seen (if you can't see it,
change viewers). The reason for this is that when examining certain macros,
what looks like macro code is really part of the comment above it. So, when
a line ends with a , the next line is a continuation of the line above it.
If LWM encounters an unknown macro function, it will display "UNK-" followed by
the hexadecimal code for the function (e.g., UNK-81C3 means LWM didn't know the
function's name). If you see many UNK-xx in a row, it means LWM got lost while
reading the macro (fairly rare) or the macro is corrupted (which happens quite
often with macro viruses).
Here are the program termination return codes (useful in batch files) and some
error messages the program displays:
Return Code Meaning
----------- -------
0 Success
1 No Filename Specified on Command Line
2 Input File Not Found
3 File is Not a Word 6/7 Template
4 Incorrect Password Provided
5 No Macros Found in File
6 Error Creating Output File
7 Error Reading File
8 Error Writing File
9 Not Enough Memory to Process the File
10 Error Processing the File
11 Unknown Error <-- hopefully you'll never see this one
Limitations
~~~~~~~~~~~
LWM can only read Word 6.x and 7.x files and occasionally other files that have
Word 6.x/7.x macros imbedded in them. It does not read Word 2.x, 5.x and 8.x
(Office 97) files, Excel files, or other types of files. If the Word file is
open and in use by another program (e.g. Word), LWM won't be able to read it.
Acknowledgements
~~~~~~~~~~~~~~~~
Thanks to Randall Hyde for the public domain floating point routines used to
display the double-precision floating point numbers. Thanks to Microsoft for
the complex Word file format that took more time to decipher than this program
took to write. No thanks to the plethora of macro virus writers that inspired
the development of this program.
Contact
~~~~~~~
Send bug reports, comments and accolades to mike.janda@mpcug.com
Send summonses, complaints and flames to dev/nul (that's ">NUL" for PC users)