right for all of your who have expressed interest in the small program that I created that will give you a customisable .xml output that can be viewed in microsoft excel or other suitable viewer this is how its done.

first of all a little explanation of what this program does, if you open collection management goto file - export - xml file, you will get an .xml file with all the information stored for your complete collection, this program simply automates this process and cleans the .xml file into a customisable output or numerous outputs depending on preference.

so here we go.

1. create a folder for the program files this can be anywhere as it is completely portable and can also be named whatever you like I simply call mine makemymoviesreports

2. inside the folder right click and create new text document name it 'CompleteReport.xml' and save it be sure to remove the .txt file extension

3. create another new text document name it whatever you like this will be the file to execute to run the program you must however again remove the .txt file extension and make it .bat I call mine 'CreateAllReports.bat' you can make a shortcut to this file later if you wish to put in your start menu or on your desktop for convenience.

4. right click the .bat file you have just crated and click edit, below is an example of mine but you will need to edit this to your preference as mine creates 5 different reports in total. also the first line is set to find the location of mymovies.exe on a 64 bit version of windows so that may need modifying depending on operating system. if you intend to only create one report you can delete 4 of the copy lines to leave just the 'copy "%~dp0\CompleteReport.xml" "%userprofile%\MyMovieReports\CustomReport.xml "' and same with the cscript lines to just leave 'cscript "%~dp0\CreateCustomReport.vbs"' so fill in as required and save the file.

Code:
"%SystemDrive%\Program Files (x86)\Binnerup Consult\My Movies for Windows Media Center\My Movies.exe" -export "%UserProfile%\MyMovieReports\CompleteReport.xml"
echo>CompleteReport.xml
copy "%~dp0\CompleteReport.xml" "%userprofile%\MyMovieReports\CustomReport.xml"
copy "%~dp0\CompleteReport.xml" "%userprofile%\MyMovieReports\DetailedReport.xml"
copy "%~dp0\CompleteReport.xml" "%userprofile%\MyMovieReports\SimpleReport.xml"
copy "%~dp0\CompleteReport.xml" "%userprofile%\MyMovieReports\LocationNameReport.xml"
copy "%~dp0\CompleteReport.xml" "%userprofile%\MyMovieReports\NameOnlyReport.xml"
cscript "%~dp0\CreateCustomReport.vbs"
cscript "%~dp0\CreateDetailedReport.vbs"
cscript "%~dp0\CreateSimpleReport.vbs"
cscript "%~dp0\CreateLocationNameReport.vbs"
cscript "%~dp0\CreateNameOnlyReport.vbs"
5. create another new text document this will be the part of the program that actually creates the required report and must be of the name in the .bat file so in this example name this 'CreateCustomReport.vbs'

6. right click this file and edit I will give an example of the script I used to create the screen shots I showed earlier and explain how you can modify the script to your preference.

Code:
Set wshell = CreateObject("WScript.Shell")
sprofile = wshell.ExpandEnvironmentStrings("%UserProfile%")

Const ForReading = 1
Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(sprofile + "\MyMovieReports\CompleteReport.xml", ForReading)
strText = objFile.ReadAll
objFile.Close

strText = Replace(strText, "<Category>Specific Original Blu-Rays</Category>", "<Specific>Original Bu-Rays</Specific>")
strText = Replace(strText, "<Category>Data Type Kids</Category>", "<DataType>Kids</DataType>")
strText = Replace(strText, "<Category>Data Type Movie</Category>", "<DataType>Movie</DataType>")
strText = Replace(strText, "<Category>Data Type Sport</Category>", "<DataType>Sport</DataType>")
strText = Replace(strText, "<Category>Data Type Television</Category>", "<DataType>Television</DataType>")
strText = Replace(strText, "<Category>Data Type Other</Category>", "<DataType>Other</DataType>")
strText = Replace(strText, "<Category>Data Type Documentary</Category>", "<DataType>Documentary</DataType>")
strText = Replace(strText, "<Category>File Type DVD</Category>", "<FileType>DVD</FileType>")
strText = Replace(strText, "<Category>File Type Video</Category>", "<FileType>Video</FileType>")
strText = Replace(strText, "<Category>File Type Blu-Ray</Category>", "<FileType>Blu-Ray</FileType>")
strText = Replace(strText, "<Category>Location Hard Drive</Category>", "<Location>Hard Drive</Location>")
strText = Replace(strText, "<Category>Location Offline</Category>", "<Location>Offline</Location>")
strText = Replace(strText, "<Category>Specific Copied DVDs</Category>", "<Specific>Copied DVDs</Specific>")
strText = Replace(strText, "<Category>Specific Original DVDs</Category>", "<Specific>Original DVDs</Specific>")
strText = Replace(strText, "<Category>Specific Hard Drive Blu-Rays</Category>", "<Specific>Hard Drive Blu-Rays</Specific>")
strText = Replace(strText, "<Category>Specific Hard Drive DVDs</Category>", "<Specific>Hard Drive DVDs</Specific>")
strText = Replace(strText, "<Category>Specific Hard Drive Videos</Category>", "<Specific>Hard Drive Videos</Specific>")
strText = Replace(strText, "<TagLine />", "<TagLine></TagLine>")
strText = Replace(strText, "ProductionYear", "Year")
strText = Replace(strText, "CollectionNumber", "No.")
strText = Replace(strText, "<Disc TitleMode=", "<Disc>")



Set objFile = objFSO.OpenTextFile(sprofile + "\MyMovieReports\CustomReport.xml", ForWriting)
objFile.WriteLine strText
objFile.Close
Set xmlDoc = CreateObject("Msxml2.DOMDocument")

Dim arrNode(33)
arrNode(0) = "ID"
arrNode(1) = "WebServiceID"
arrNode(2) = "ReleaseDate"
arrNode(3) = "Barcode"
arrNode(4) = "TagLine"
arrNode(5) = "CheckSum"
arrNode(6) = "LocalTitleDisplay"
arrNode(7) = "Subtitles"
arrNode(8) = "NameDisplay"
arrNode(9) = "Edition"
arrNode(10) = "IMDB"
arrNode(11) = "Rating"
arrNode(12) = "AspectRatio"
arrNode(13) = "VideoStandard"
arrNode(14) = "ReleaseDateDisplay"
arrNode(15) = "RunningTime"
arrNode(16) = "Description"
arrNode(17) = "ParentalRating"
arrNode(18) = "DataProvider"
arrNode(19) = "DataProviderId"
arrNode(20) = "ImportSource"
arrNode(21) = "ImportId"
arrNode(22) = "LocalTrailer"
arrNode(23) = "Persons"
arrNode(24) = "Covers"
arrNode(25) = "TVWebServiceID"
arrNode(26) = "Studios"
arrNode(27) = "ExtraFeatures"
arrNode(28) = "Tagline"
arrNode(29) = "SortTitleDisplay"
arrNode(30) = "Persons"
arrNode(31) = "Genres"
arrNode(32) = "AudioTracks"


Dim arrDiscs(13)
arrDiscs(0) = "TitleMode"
arrDiscs(1) = "HideSideA"
arrDiscs(2) = "HideSideB"
arrDiscs(3) = "DiscIdStored"
arrDiscs(4) = "TitlesSideB"
arrDiscs(5) = "Name"
arrDiscs(6) = "DiscIdSideA"
arrDiscs(7) = "DiscIdSideB"
arrDiscs(8) = "TitlesSideA"
arrDiscs(9) = "LocationTypeSideA"
arrDiscs(10) = "LocationSideB"
arrDiscs(11) = "LocationTypeSideB"
arrDiscs(12) = "ChangerSlot"

xmlDoc.Async = "False"
xmlDoc.Load(sprofile + "\MyMovieReports\CustomReport.xml")

For i = 0 To UBound(arrNode) - 1
  Set colNodes=xmlDoc.selectNodes("/Titles/Title/" & arrNode(i))
 
  For Each objNode in colNodes
    objNode.parentNode.removeChild(objNode)
  Next
Next

For i = 0 To UBound(arrDiscs) - 1
  Set colNodes=xmlDoc.selectNodes("/Titles/Title/Discs/Disc/" & arrDiscs(i))
 
  For Each objNode in colNodes
    objNode.parentNode.removeChild(objNode)
  Next
Next

xmlDoc.Save(sprofile + "\MyMovieReports\CustomReport.xml")
near the top of the code you will see a number of lines that start 'strText = Replace(strText,' most of these are specific to me and are used to create headers for my custom categories, left this in the example to give those of you who use custom categories or wish to, to have a better idea how to modify the script, I created these custom categories in cm,
data type kids
data type movies
file type blu-ray
file type dvd
file type video
location hard drive
location offline
specific hard drive blu-rays
specific hard drive dvds
specific hard drive videos
specific original dvds
specific original blu-rays

as each title is organised into 4 of these 12 categories without these lines and without Categories being hidden each title would occupy 4 lines within excel with these lines it creates a new header for data type, file type, location and specific.

the next part of the script to concern yourself with is where it says 'Dim arrNode(33)' and 'Dim arrDiscs(13)' and what is written below each, this is basically eliminating cetrain portions of information being written in so for example if you deleted the line 'arrNode(15) = "RunningTime"' then you would get the runing time included in the report, note if you delete a line then be sure to renumber the subsequent lines so they run from 0 consecutively, also the number (33) and (13) refer to how many fields are being removed so if you were to delete the line 'arrNode(15) = "RunningTime"' then you must alter the (33) to (32)

below is another example with all fields 'dimmed' so if you were to use the below script your result would be a blank report but would give those of you who wish to experiment a starting point to try removing certain lines to create the report you desire.

Code:
Set wshell = CreateObject("WScript.Shell")
sprofile = wshell.ExpandEnvironmentStrings("%UserProfile%")

Const ForReading = 1
Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(sprofile + "\MyMovieReports\CompleteReport.xml", ForReading)
strText = objFile.ReadAll
objFile.Close


strText = Replace(strText, "<TagLine />", "<TagLine></TagLine>")
strText = Replace(strText, "ProductionYear", "Year")
strText = Replace(strText, "CollectionNumber", "No.")
strText = Replace(strText, "<Disc TitleMode=", "<Disc>")



Set objFile = objFSO.OpenTextFile(sprofile + "\MyMovieReports\CustomReport.xml", ForWriting)
objFile.WriteLine strText
objFile.Close
Set xmlDoc = CreateObject("Msxml2.DOMDocument")

Dim arrNode(51)
arrNode(0) = "ID"
arrNode(1) = "WebServiceID"
arrNode(2) = "ReleaseDate"
arrNode(3) = "Barcode"
arrNode(4) = "TagLine"
arrNode(5) = "CheckSum"
arrNode(6) = "LocalTitleDisplay"
arrNode(7) = "Subtitles"
arrNode(8) = "NameDisplay"
arrNode(9) = "Edition"
arrNode(10) = "IMDB"
arrNode(11) = "Rating"
arrNode(12) = "AspectRatio"
arrNode(13) = "VideoStandard"
arrNode(14) = "ReleaseDateDisplay"
arrNode(15) = "RunningTime"
arrNode(16) = "Description"
arrNode(17) = "ParentalRating"
arrNode(18) = "DataProvider"
arrNode(19) = "DataProviderId"
arrNode(20) = "ImportSource"
arrNode(21) = "ImportId"
arrNode(22) = "LocalTrailer"
arrNode(23) = "Persons"
arrNode(24) = "Covers"
arrNode(25) = "TVWebServiceID"
arrNode(26) = "Studios"
arrNode(27) = "ExtraFeatures"
arrNode(28) = "Tagline"
arrNode(29) = "SortTitleDisplay"
arrNode(30) = "Persons"
arrNode(31) = "Genres"
arrNode(32) = "AudioTracks"
arrNode(33) = "No."
arrNode(34) = "MediaType"
arrNode(35) = "Type"
arrNode(36) = "BluRay3D"
arrNode(37) = "Boxset"
arrNode(38) = "Country"
arrNode(39) = "LocalTitle"
arrNode(40) = "OriginalTitle"
arrNode(41) = "SortTitle"
arrNode(42) = "Year"
arrNode(43) = "Watched"
arrNode(44) = "DataChanged"
arrNode(45) = "CoversChanged"
arrNode(46) = "LockData"
arrNode(47) = "LockCovers"
arrNode(48) = "Added"
arrNode(49) = "RecordChanged"
arrNode(50) = "Categories"





Dim arrDiscs(15)
arrDiscs(0) = "TitleMode"
arrDiscs(1) = "HideSideA"
arrDiscs(2) = "HideSideB"
arrDiscs(3) = "DiscIdStored"
arrDiscs(4) = "TitlesSideB"
arrDiscs(5) = "Name"
arrDiscs(6) = "DiscIdSideA"
arrDiscs(7) = "DiscIdSideB"
arrDiscs(8) = "TitlesSideA"
arrDiscs(9) = "LocationSideA"
arrDiscs(10) = "LocationTypeSideA"
arrDiscs(11) = "LocationSideB"
arrDiscs(12) = "LocationTypeSideB"
arrDiscs(13) = "ChangerSlot"
arrDiscs(14) = "DoubleSided"




xmlDoc.Async = "False"
xmlDoc.Load(sprofile + "\MyMovieReports\CustomReport.xml")

For i = 0 To UBound(arrNode) - 1
  Set colNodes=xmlDoc.selectNodes("/Titles/Title/" & arrNode(i))
 
  For Each objNode in colNodes
    objNode.parentNode.removeChild(objNode)
  Next
Next

For i = 0 To UBound(arrDiscs) - 1
  Set colNodes=xmlDoc.selectNodes("/Titles/Title/Discs/Disc/" & arrDiscs(i))
 
  For Each objNode in colNodes
    objNode.parentNode.removeChild(objNode)
  Next
Next

xmlDoc.Save(sprofile + "\MyMovieReports\CustomReport.xml")
7. nearly done! create a folder in your userprofile folder and name it MyMovieReports this is where the reports will be created,

8. thats it! only thing to add is collection management must not be open when you execute the program though it can be runing in the system tray, otherwise it will not export the .xml file.