Office Migration Planning Manager (OMPM) Contributions
Summary: Resources & solutions developed by the OMPM community.
Post any tips, tricks, tools, or resources that you feel would be of use to others using the OMPM tool.
NOTE: Solutions posted in this section have been developed by the OMPM community and thus are not supported by Microsoft
Filter for Excel, Word, PPT files with Macros
The OMPM does not report on any macro conversion issues, but you can use it to find all documents with VBA projects. The OMPM scanner can detect if a Word, Excel, or
PowerPoint file has a VBA project or not. (Even if the VBA project is empty, it will still be reported as having a project). With a few simple tweaks, you can import this information in the OMPM database and filter for files with Macros. This does require a new database, but you won't need to rescan as the scan xml logs already contain the VBA Project information
*Open up OMPM\Database\Include\ProvisionDB.SQL (you may want to back it up)
*Insert the following line into the section that creates the
osVBAProperty table (line 718). This adds a new column "NoVBAProject" to
osVBAProperty table
[NoVBAProject] [bit] NULL,
*Open up
OMPM\Database\Schemas\LogFileMapping.xml (you may want to back it up first)
*Insert the following line at the end of the section describing the other VBA project properties (line 95)
[<ElementType] name="NoVBAProject" dt:type="boolean" sql:datatype="bit"/>
*Insert the following line into the element type description of the relation between VBA Properties and the
osVBAProperty table (line 287)
<element type="NoVBAProject" sql:field="NoVBAProject" />
*Create a new OMPM database
*Import Scan results (you can reimport older scan results by moving them one level out of the
\OMPMImported folder)
*This new "NoVBAProjects" column is not exposed in the Reporting Tool, so you'll need to run some SQL directly against the OMPM database:
SELECT * FROM [osScanFile] WHERE scanfileID IN (SELECT scanfileID FROM [osVBAProperty] WHERE [NoVBAProject] = 0)
(You can customize this query and join it with other tables for more information if desired)
*Note: If you have scanned the same files multiple times you may consider taking advantage that the CSIDL will not change for a single file over multiple scans. For example the following query will not duplicate reporting if you have scanned files more than once: SELECT distinct filename,filepath,modifieddate,csidl FROM
osScanFile WHERE scanfileID IN (SELECT scanfileID FROM
osVBAProperty WHERE
NoVBAProject = 0)
*Now you have a list of Excel, PPT, and Word files with Macros!
OMPM Access Reporting Tool
(Link no longer valid)
An updated version of the Access Reporting Tool with some UI bugs fixed can be found
hereFor a description of the bugs that have been fixed in this version click
here A version of the Access Reporting Tool (with the above bug fixes) that has been formatted for 120 DPI can be found
here
OMPM Database Import Scripts
(Link no longer valid)
A solution for the 'Illegal xml character' error that occurs when importing files with Japanese characters in their name on a Japanese operating system can be found
here_jpfix.zip
NOTE: This solution is .NET dependent, however the source is provided so anyone wishing to develop a non-.NET solution can follow the provided logic to do so.
OFC
(Link no longer valid)
A patch to fix the excelcnv process memory leak which causes periodic failures in large batch conversions can be found
here
Link Repair Macro
(Link no longer valid)
A sample macro which can fix the broken links caused by changed file extensions can be found
here
Using Compatibility Pack for single document or batch conversion
If you feel that the OMPM interface using an ini-file is too clumsy to use for single files, then this might be an interesting alternative: It is possible to use the
Office Compatibility Pack directly to convert single binary Office documents to OpenXML on the command line. It goes without saying that this technique can also be used for simple batch conversions.
This is how to use it (OMPM actually calls the executables below):
Word:
"C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme <input file> <output file>
Excel:
"C:\Program Files\Microsoft Office\Office12\excelcnv.exe" -oice <input file> <output file>
PowerPoint:
"C:\Program Files\Microsoft Office\Office12\ppcnvcom.exe" -oice <input file> <output file>
Please note that:
*You will at least need version 3.0 of the Compatibility Pack, an Office installation however is not required.
*The command line interface is not officially documented (might change in the future).
*The full file path to input and output documents has to be specified on the command line.
A
batch conversion would look like this:
for %F in (*.xls) do "c:\Program Files\Microsoft Office\Office12\excelcnv.exe" -nme -oice "%~fF" "%~fF"x
Back to
OMPMv1