Many Wiki articles use colors. Unfortunately, the way colors are often specified in HTML, using RGB values, is no longer supported in the TechNet Wiki. Until this situation is corrected, a workaround is to specify colors by color name in the HTML. This Wiki article explains the issue:
http://social.technet.microsoft.com/wiki/contents/articles/16768.wiki-troubleshooting-color-issues-in-your-wiki-articles.aspx
In addition, the issue was discussed in this forum thread:
http://social.technet.microsoft.com/Forums/en-US/tnwiki/thread/22e0c240-0bc0-4b17-8c88-558abb428a2a
In HTML colors can be specified as RGB values, either three decimal integers or three hexadecimal bytes representing the amounts of red, green, and blue in the color. The decimal integers range from 0 to 255. The hexadecimal format begins with the "#" character followed by three hexadecimal bytes (two characters each) between 00 and FF. For example, the color red can be specified as rgb(255, 0, 0) or #FF0000. The RGB system can specify over 3 million colors, but only 140 color names are recognized by the HTML and CSS color specification. This makes it difficult to select the best color name to substitute for the RGB value.
This script can be used to select the color closest to any specified RGB value. The script considers the three RGB values as coordinates in a three dimensional space and calculates the distance between this point and the point represented by every standard color name. The color with the smallest distance, called the error in the script output, is the color to use. For reference, the script outputs the three closest colors to the RGB value specified.
If the script is run using the cscript host program, it will output at the command prompt. The script displays the input RGB values and the three closest color names, with the distance (error) between each and the input RGB values. By default the script will also display an Internet Explorer window with the same information, but also showing the actual colors (as seen on your hardware). You can omit the Internet Explorer display by specifying the optional final parameter /n. If you run the script using the wscript host program the output in the Internet Explorer window will always be displayed.
You can either pass the RGB values to the script as parameters, or the script will prompt for the values. If you double click the script file in Windows Explorer, you will be prompted for the RGB values, then the Internet Explorer window will display the results. For example, you might run the program with the following command line at a command prompt:
cscript BestColor.vbs 0 102 221
The decimal intergers can be separated by spaces, commas, or periods. The following demonstrates how to specify three hexadecimal bytes:
cscript BestColor.vbs #800080
The hexadecimal bytes can be in one string, as above, or separated by spaces or commas, but all three bytes must be two characters, including a leading zero if necessary.
VB Script
Edit|Remove
' BestColor.vbs 
' VBScript program to find the closest standard color to the RGB value specified. 
' Script Author: Richard L. Mueller 
' Version 1.0 - April 12, 2013 
' Version 2.0 - April 28, 2013 - Handle hex and decimal color values. 
' Version 2.1 - October 10, 2016 - Modify for IE 11. 
 
Option Explicit 
 
Dim arrColors(1383), k, arrValues(2), lngValue, strArg1, strArg2 
Dim lngMin1, intColor1, lngMin2, intColor2, lngMin3, intColor3 
Dim strResponse, objShell, objIE, dblWidth, dblHeight, dblNewWidth, dblNewHeight 
Dim strMsg, strIETitle, dblMin1, dblMin2, dblMin3, blnIE 
 
' Populate array with the standard color names and their decimal RGB values. 
arrColors(00) = "Red" 
arrColors(01) = "255" 
arrColors(02) = "0" 
arrColors(03) = "0" 
 
arrColors(10) = "DarkRed" 
arrColors(11) = "139" 
arrColors(12) = "0" 
arrColors(13) = "0" 
 
arrColors(20) = "FireBrick" 
arrColors(21) = "178" 
arrColors(22) = "34" 
arrColors(23) = "34" 
 
arrColors(30) = "Crimson" 
arrColors(31) = "220" 
arrColors(32) = "20" 
arrColors(33) = "60" 
 
arrColors(40) = "IndianRed" 
arrColors(41) = "205" 
arrColors(42) = "92" 
arrColors(43) = "92" 
 
arrColors(50) = "LightCoral" 
arrColors(51) = "240" 
arrColors(52) = "128" 
arrColors(53) = "128" 
 
arrColors(60) = "DarkSalmon" 
arrColors(61) = "233" 
arrColors(62) = "150" 
arrColors(63) = "122" 
 
arrColors(70) = "Salmon" 
arrColors(71) = "250" 
arrColors(72) = "128" 
arrColors(73) = "114" 
 
arrColors(80) = "LightSalmon" 
arrColors(81) = "255" 
arrColors(82) = "160" 
arrColors(83) = "122" 
 
arrColors(90) = "MediumVioletRed" 
arrColors(91) = "199" 
arrColors(92) = "21" 
arrColors(93) = "133" 
 
arrColors(100) = "PaleVioletRed" 
arrColors(101) = "219" 
arrColors(102) = "112" 
arrColors(103) = "147" 
 
arrColors(110) = "DeepPink" 
arrColors(111) = "255" 
arrColors(112) = "20" 
arrColors(113) = "147" 
 
arrColors(120) = "HotPink" 
arrColors(121) = "255" 
arrColors(122) = "105" 
arrColors(123) = "180" 
 
arrColors(130) = "LightPink" 
arrColors(131) = "255" 
arrColors(132) = "182" 
arrColors(133) = "193" 
 
arrColors(140) = "Pink" 
arrColors(141) = "255" 
arrColors(142) = "192" 
arrColors(143) = "203" 
 
arrColors(150) = "OrangeRed" 
arrColors(151) = "255" 
arrColors(152) = "69" 
arrColors(153) = "0" 
 
arrColors(160) = "Tomato" 
arrColors(161) = "255" 
arrColors(162) = "99" 
arrColors(163) = "71" 
 
arrColors(170) = "Coral" 
arrColors(171) = "255" 
arrColors(172) = "127" 
arrColors(173) = "80" 
 
arrColors(180) = "DarkOrange" 
arrColors(181) = "255" 
arrColors(182) = "140" 
arrColors(183) = "0" 
 
arrColors(190) = "Orange" 
arrColors(191) = "255" 
arrColors(192) = "165" 
arrColors(193) = "0" 
 
arrColors(200) = "Gold" 
arrColors(201) = "255" 
arrColors(202) = "215" 
arrColors(203) = "0" 
 
arrColors(210) = "Yellow" 
arrColors(211) = "255" 
arrColors(212) = "255" 
arrColors(213) = "0" 
 
arrColors(220) = "LightYellow" 
arrColors(221) = "255" 
arrColors(222) = "255" 
arrColors(223) = "224" 
 
arrColors(230) = "LemonChiffon" 
arrColors(231) = "255" 
arrColors(232) = "250" 
arrColors(233) = "205" 
 
arrColors(240) = "LightGoldenrodYellow" 
arrColors(241) = "250" 
arrColors(242) = "250" 
arrColors(243) = "210" 
 
arrColors(250) = "PapayaWhip" 
arrColors(251) = "255" 
arrColors(252) = "239" 
arrColors(253) = "213" 
 
arrColors(260) = "Moccasin" 
arrColors(261) = "255" 
arrColors(262) = "228" 
arrColors(263) = "181" 
 
arrColors(270) = "PeachPuff" 
arrColors(271) = "255" 
arrColors(272) = "218" 
arrColors(273) = "185" 
 
arrColors(280) = "PaleGoldenrod" 
arrColors(281) = "238" 
arrColors(282) = "232" 
arrColors(283) = "170" 
 
arrColors(290) = "Khaki" 
arrColors(291) = "240" 
arrColors(292) = "230" 
arrColors(293) = "140" 
 
arrColors(300) = "DarkKhaki" 
arrColors(301) = "189" 
arrColors(302) = "183" 
arrColors(303) = "107" 
 
arrColors(310) = "CornSilk" 
arrColors(311) = "255" 
arrColors(312) = "248" 
arrColors(313) = "220" 
 
arrColors(320) = "BlanchedAlmond" 
arrColors(321) = "255" 
arrColors(322) = "235" 
arrColors(323) = "205" 
 
arrColors(330) = "Bisque" 
arrColors(331) = "255" 
arrColors(332) = "228" 
arrColors(333) = "196" 
 
arrColors(340) = "NavajoWhite" 
arrColors(341) = "255" 
arrColors(342) = "222" 
arrColors(343) = "173" 
 
arrColors(350) = "Wheat" 
arrColors(351) = "245" 
arrColors(352) = "222" 
arrColors(353) = "179" 
 
arrColors(360) = "BurlyWood" 
arrColors(361) = "222" 
arrColors(362) = "184" 
arrColors(363) = "135" 
 
arrColors(370) = "Tan" 
arrColors(371) = "210" 
arrColors(372) = "180" 
arrColors(373) = "140" 
 
arrColors(380) = "RosyBrown" 
arrColors(381) = "188" 
arrColors(382) = "143" 
arrColors(383) = "143" 
 
arrColors(390) = "SandyBrown" 
arrColors(391) = "244" 
arrColors(392) = "164" 
arrColors(393) = "96" 
 
arrColors(400) = "Goldenrod" 
arrColors(401) = "218" 
arrColors(402) = "165" 
arrColors(403) = "32" 
 
arrColors(410) = "DarkGoldenrod" 
arrColors(411) = "184" 
arrColors(412) = "134" 
arrColors(413) = "11" 
 
arrColors(420) = "Peru" 
arrColors(421) = "205" 
arrColors(422) = "133" 
arrColors(423) = "63" 
 
arrColors(430) = "Chocolate" 
arrColors(431) = "210" 
arrColors(432) = "105" 
arrColors(433) = "30" 
 
arrColors(440) = "SaddleBrown" 
arrColors(441) = "139" 
arrColors(442) = "69" 
arrColors(443) = "19" 
 
arrColors(450) = "Sienna" 
arrColors(451) = "160" 
arrColors(452) = "82" 
arrColors(453) = "45" 
 
arrColors(460) = "Brown" 
arrColors(461) = "165" 
arrColors(462) = "42" 
arrColors(463) = "42" 
 
arrColors(470) = "Maroon" 
arrColors(471) = "128" 
arrColors(472) = "0" 
arrColors(473) = "0" 
 
arrColors(480) = "DarkOliveGreen" 
arrColors(481) = "85" 
arrColors(482) = "107" 
arrColors(483) = "47" 
 
arrColors(490) = "Olive" 
arrColors(491) = "128" 
arrColors(492) = "128" 
arrColors(493) = "0" 
 
arrColors(500) = "OliveDrab" 
arrColors(501) = "107" 
arrColors(502) = "142" 
arrColors(503) = "35" 
 
arrColors(510) = "YellowGreen" 
arrColors(511) = "154" 
arrColors(512) = "205" 
arrColors(513) = "50" 
 
arrColors(520) = "LimeGreen" 
arrColors(521) = "50" 
arrColors(522) = "205" 
arrColors(523) = "50" 
 
arrColors(530) = "Lime" 
arrColors(531) = "0" 
arrColors(532) = "255" 
arrColors(533) = "0" 
 
arrColors(540) = "LawnGreen" 
arrColors(541) = "124" 
arrColors(542) = "252" 
arrColors(543) = "0" 
 
arrColors(550) = "Chartreuse" 
arrColors(551) = "127" 
arrColors(552) = "255" 
arrColors(553) = "0" 
 
arrColors(560) = "GreenYellow" 
arrColors(561) = "173" 
arrColors(562) = "255" 
arrColors(563) = "47" 
 
arrColors(570) = "SpringGreen" 
arrColors(571) = "0" 
arrColors(572) = "255" 
arrColors(573) = "127" 
 
arrColors(580) = "MediumSpringGreen" 
arrColors(581) = "0" 
arrColors(582) = "250" 
arrColors(583) = "154" 
 
arrColors(590) = "LightGreen" 
arrColors(591) = "144" 
arrColors(592) = "238" 
arrColors(593) = "144" 
 
arrColors(600) = "PaleGreen" 
arrColors(601) = "152" 
arrColors(602) = "251" 
arrColors(603) = "152" 
 
arrColors(610) = "DarkSeaGreen" 
arrColors(611) = "143" 
arrColors(612) = "188" 
arrColors(613) = "143" 
 
arrColors(620) = "MediumSeaGreen" 
arrColors(621) = "60" 
arrColors(622) = "179" 
arrColors(623) = "113" 
 
arrColors(630) = "SeaGreen" 
arrColors(631) = "46" 
arrColors(632) = "139" 
arrColors(633) = "87" 
 
arrColors(640) = "ForestGreen" 
arrColors(641) = "34" 
arrColors(642) = "139" 
arrColors(643) = "34" 
 
arrColors(650) = "Green" 
arrColors(651) = "0" 
arrColors(652) = "128" 
arrColors(653) = "0" 
 
arrColors(660) = "DarkGreen" 
arrColors(661) = "0" 
arrColors(662) = "100" 
arrColors(663) = "0" 
 
arrColors(670) = "MediumAquamarine" 
arrColors(671) = "102" 
arrColors(672) = "205" 
arrColors(673) = "170" 
 
arrColors(680) = "Aqua" 
arrColors(681) = "0" 
arrColors(682) = "255" 
arrColors(683) = "255" 
 
arrColors(690) = "Cyan" 
arrColors(691) = "0" 
arrColors(692) = "255" 
arrColors(693) = "255" 
 
arrColors(700) = "LightCyan" 
arrColors(701) = "224" 
arrColors(702) = "255" 
arrColors(703) = "255" 
 
arrColors(710) = "PaleTurquoise" 
arrColors(711) = "175" 
arrColors(712) = "238" 
arrColors(713) = "238" 
 
arrColors(720) = "Aquamarine" 
arrColors(721) = "127" 
arrColors(722) = "255" 
arrColors(723) = "212" 
 
arrColors(730) = "Turquoise" 
arrColors(731) = "64" 
arrColors(732) = "224" 
arrColors(733) = "208" 
 
arrColors(740) = "MediumTurquoise" 
arrColors(741) = "72" 
arrColors(742) = "209" 
arrColors(743) = "204" 
 
arrColors(750) = "DarkTurquoise" 
arrColors(751) = "0" 
arrColors(752) = "206" 
arrColors(753) = "209" 
 
arrColors(760) = "LightSeaGreen" 
arrColors(761) = "32" 
arrColors(762) = "178" 
arrColors(763) = "170" 
 
arrColors(770) = "CadetBlue" 
arrColors(771) = "95" 
arrColors(772) = "158" 
arrColors(773) = "160" 
 
arrColors(780) = "DarkCyan" 
arrColors(781) = "0" 
arrColors(782) = "139" 
arrColors(783) = "139" 
 
arrColors(790) = "Teal" 
arrColors(791) = "0" 
arrColors(792) = "128" 
arrColors(793) = "128" 
 
arrColors(800) = "LightSteelBlue" 
arrColors(801) = "176" 
arrColors(802) = "196" 
arrColors(803) = "222" 
 
arrColors(810) = "PowderBlue" 
arrColors(811) = "176" 
arrColors(812) = "224" 
arrColors(813) = "230" 
 
arrColors(820) = "LightBlue" 
arrColors(821) = "173" 
arrColors(822) = "216" 
arrColors(823) = "230" 
 
arrColors(830) = "SkyBlue" 
arrColors(831) = "135" 
arrColors(832) = "206" 
arrColors(833) = "235" 
 
arrColors(840) = "LightSkyBlue" 
arrColors(841) = "135" 
arrColors(842) = "206" 
arrColors(843) = "250" 
 
arrColors(850) = "DeepSkyBlue" 
arrColors(851) = "0" 
arrColors(852) = "191" 
arrColors(853) = "255" 
 
arrColors(860) = "DodgerBlue" 
arrColors(861) = "30" 
arrColors(862) = "144" 
arrColors(863) = "255" 
 
arrColors(870) = "CornflowerBlue" 
arrColors(871) = "100" 
arrColors(872) = "149" 
arrColors(873) = "237" 
 
arrColors(880) = "SteelBlue" 
arrColors(881) = "70" 
arrColors(882) = "130" 
arrColors(883) = "180" 
 
arrColors(890) = "RoyalBlue" 
arrColors(891) = "65" 
arrColors(892) = "105" 
arrColors(893) = "225" 
 
arrColors(900) = "Blue" 
arrColors(901) = "0" 
arrColors(902) = "0" 
arrColors(903) = "255" 
 
arrColors(910) = "MediumBlue" 
arrColors(911) = "0" 
arrColors(912) = "0" 
arrColors(913) = "205" 
 
arrColors(920) = "DarkBlue" 
arrColors(921) = "0" 
arrColors(922) = "0" 
arrColors(923) = "139" 
 
arrColors(930) = "Navy" 
arrColors(931) = "0" 
arrColors(932) = "0" 
arrColors(933) = "128" 
 
arrColors(940) = "MidnightBlue" 
arrColors(941) = "25" 
arrColors(942) = "25" 
arrColors(943) = "112" 
 
arrColors(950) = "Lavender" 
arrColors(951) = "230" 
arrColors(952) = "230" 
arrColors(953) = "250" 
 
arrColors(960) = "Thistle" 
arrColors(961) = "216" 
arrColors(962) = "191" 
arrColors(963) = "216" 
 
arrColors(970) = "Plum" 
arrColors(971) = "221" 
arrColors(972) = "160" 
arrColors(973) = "221" 
 
arrColors(980) = "Violet" 
arrColors(981) = "238" 
arrColors(982) = "130" 
arrColors(983) = "238" 
 
arrColors(990) = "Orchid" 
arrColors(991) = "218" 
arrColors(992) = "112" 
arrColors(993) = "214" 
 
' Also called Fuchsia. 
arrColors(1000) = "Magenta" 
arrColors(1001) = "255" 
arrColors(1002) = "0" 
arrColors(1003) = "255" 
 
arrColors(1010) = "MediumOrchid" 
arrColors(1011) = "186" 
arrColors(1012) = "85" 
arrColors(1013) = "211" 
 
arrColors(1020) = "MediumPurple" 
arrColors(1021) = "147" 
arrColors(1022) = "112" 
arrColors(1023) = "219" 
 
arrColors(1030) = "BlueViolet" 
arrColors(1031) = "138" 
arrColors(1032) = "43" 
arrColors(1033) = "226" 
 
arrColors(1040) = "DarkViolet" 
arrColors(1041) = "148" 
arrColors(1042) = "0" 
arrColors(1043) = "211" 
 
arrColors(1050) = "DarkOrchid" 
arrColors(1051) = "153" 
arrColors(1052) = "50" 
arrColors(1053) = "204" 
 
arrColors(1060) = "DarkMagenta" 
arrColors(1061) = "139" 
arrColors(1062) = "0" 
arrColors(1063) = "139" 
 
arrColors(1070) = "Purple" 
arrColors(1071) = "128" 
arrColors(1072) = "0" 
arrColors(1073) = "128" 
 
arrColors(1080) = "Indigo" 
arrColors(1081) = "75" 
arrColors(1082) = "0" 
arrColors(1083) = "130" 
 
arrColors(1090) = "DarkSlateBlue" 
arrColors(1091) = "72" 
arrColors(1092) = "61" 
arrColors(1093) = "139" 
 
arrColors(1100) = "SlateBlue" 
arrColors(1101) = "106" 
arrColors(1102) = "90" 
arrColors(1103) = "205" 
 
arrColors(1110) = "MediumSlateBlue" 
arrColors(1111) = "123" 
arrColors(1112) = "104" 
arrColors(1113) = "238" 
 
arrColors(1120) = "White" 
arrColors(1121) = "255" 
arrColors(1122) = "255" 
arrColors(1123) = "255" 
 
arrColors(1130) = "Snow" 
arrColors(1131) = "255" 
arrColors(1132) = "250" 
arrColors(1133) = "250" 
 
arrColors(1140) = "HoneyDew" 
arrColors(1141) = "240" 
arrColors(1142) = "255" 
arrColors(1143) = "240" 
 
arrColors(1150) = "MintCream" 
arrColors(1151) = "245" 
arrColors(1152) = "255" 
arrColors(1153) = "250" 
 
arrColors(1160) = "Azure" 
arrColors(1161) = "240" 
arrColors(1162) = "255" 
arrColors(1163) = "255" 
 
arrColors(1170) = "AliceBlue" 
arrColors(1171) = "240" 
arrColors(1172) = "248" 
arrColors(1173) = "255" 
 
arrColors(1180) = "GhostWhite" 
arrColors(1181) = "248" 
arrColors(1182) = "248" 
arrColors(1183) = "255" 
 
arrColors(1190) = "WhiteSmoke" 
arrColors(1191) = "245" 
arrColors(1192) = "245" 
arrColors(1193) = "245" 
 
arrColors(1200) = "Seashell" 
arrColors(1201) = "255" 
arrColors(1202) = "245" 
arrColors(1203) = "238" 
 
arrColors(1210) = "Beige" 
arrColors(1211) = "245" 
arrColors(1212) = "245" 
arrColors(1213) = "220" 
 
arrColors(1220) = "OldLace" 
arrColors(1221) = "253" 
arrColors(1222) = "245" 
arrColors(1223) = "230" 
 
arrColors(1230) = "FloralWhite" 
arrColors(1231) = "255" 
arrColors(1232) = "250" 
arrColors(1233) = "240" 
 
arrColors(1240) = "Ivory" 
arrColors(1241) = "255" 
arrColors(1242) = "255" 
arrColors(1243) = "240" 
 
arrColors(1250) = "AntiqueWhite" 
arrColors(1251) = "250" 
arrColors(1252) = "235" 
arrColors(1253) = "215" 
 
arrColors(1260) = "Linen" 
arrColors(1261) = "250" 
arrColors(1262) = "240" 
arrColors(1263) = "230" 
 
arrColors(1270) = "LavenderBlush" 
arrColors(1271) = "255" 
arrColors(1272) = "240" 
arrColors(1273) = "245" 
 
arrColors(1280) = "MistyRose" 
arrColors(1281) = "255" 
arrColors(1282) = "228" 
arrColors(1283) = "225" 
 
arrColors(1290) = "Gainsboro" 
arrColors(1291) = "220" 
arrColors(1292) = "220" 
arrColors(1293) = "220" 
 
arrColors(1300) = "LightGray" 
arrColors(1301) = "211" 
arrColors(1302) = "211" 
arrColors(1303) = "211" 
 
arrColors(1310) = "Silver" 
arrColors(1311) = "192" 
arrColors(1312) = "192" 
arrColors(1313) = "192" 
 
arrColors(1320) = "DarkGray" 
arrColors(1321) = "169" 
arrColors(1322) = "169" 
arrColors(1323) = "169" 
 
arrColors(1330) = "Gray" 
arrColors(1331) = "128" 
arrColors(1332) = "128" 
arrColors(1333) = "128" 
 
arrColors(1340) = "DimGray" 
arrColors(1341) = "105" 
arrColors(1342) = "105" 
arrColors(1343) = "105" 
 
arrColors(1350) = "LightSlateGray" 
arrColors(1351) = "119" 
arrColors(1352) = "136" 
arrColors(1353) = "153" 
 
arrColors(1360) = "SlateGray" 
arrColors(1361) = "112" 
arrColors(1362) = "128" 
arrColors(1363) = "144" 
 
arrColors(1370) = "DarkSlateGray" 
arrColors(1371) = "47" 
arrColors(1372) = "79" 
arrColors(1373) = "79" 
 
arrColors(1380) = "Black" 
arrColors(1381) = "0" 
arrColors(1382) = "0" 
arrColors(1383) = "0" 
 
' Parse command line parameters. 
blnIE = True 
k = Wscript.Arguments.Count 
Select Case k 
    Case 0 
        ' Prompt for RGB values. 
        strResponse = InputBox("Enter RGB value as three decimal integers or # followed by 3 hex bytes""Best Color") 
        If (ParseValues(strResponse, arrValues) = FalseThen 
            Wscript.Echo "Error, invalid RGB values: " & strResponse 
            Wscript.Quit 
        End If 
    Case 1 
        ' Retrieve the RGB values from the command line. 
        strArg1 = Wscript.Arguments(0) 
        If (Left(strArg1, 1) = "/"Then 
            blnIE = False 
            ' Prompt for RGB values. 
            strResponse = InputBox("Enter RGB value as three decimal integers or # followed by 3 hex bytes""Best Color") 
            If (ParseValues(strResponse, arrValues) = FalseThen 
                Wscript.Echo "Error, invalid RGB values: " & strResponse 
                Wscript.Quit 
            End If 
        ElseIf (ParseValues(strArg1, arrValues) = FalseThen 
            Wscript.Echo "Error, invalid RGB values: " & strArg1 
            Wscript.Quit 
        End If 
    Case 2 
        ' Retrieve the RGB values from the command line. 
        strArg1 = Wscript.Arguments(0) 
        strArg2 = Wscript.Arguments(1) 
        If (ParseValues(strArg1, arrValues) = FalseThen 
            Wscript.Echo "Error, invalid RGB values: " & strArg1 & " " & strArg2 
            Wscript.Quit 
        End If 
        If (Left(strArg2, 1) = "/"Then 
            blnIE = False 
        Else 
            Wscript.Echo "Error, invalid RGB values: " & strArg1 & " " & strArg2 
            Wscript.Quit 
        End If 
    Case 3 
        ' Retrieve the RGB values from the command line. 
        strArg1 = Wscript.Arguments(0) & " " & Wscript.Arguments(1) _ 
            & " " & Wscript.Arguments(2) 
        If (ParseValues(strArg1, arrValues) = FalseThen 
            Wscript.Echo "Error, invalid RGB values: " & strArg1 
            Wscript.Quit 
        End If 
    Case 4 
        ' Retrieve the RGB values from the command line. 
        If (Wscript.Arguments(0) = "#"Then 
            strArg1 = Wscript.Arguments(0) & Wscript.Arguments(1) _ 
                & Wscript.Arguments(2) & Wscript.Arguments(3) 
        Else 
            strArg1 = Wscript.Arguments(0) & " " & Wscript.Arguments(1) _ 
                & " " & Wscript.Arguments(2) 
            strArg2 = Wscript.Arguments(3) 
            If (Left(strArg2, 1) = "/"Then 
                blnIE = False 
            Else 
                Wscript.Echo "Error, invalid RGB values: " & strArg1 & " " & strArg2 
                Wscript.Quit 
            End If 
        End If 
        If (ParseValues(strArg1, arrValues) = FalseThen 
            Wscript.Echo "Error, invalid RGB values: " & strArg1 & " " & strArg2 
            Wscript.Quit 
        End If 
    Case 5 
        ' Retrieve the RGB values from the command line. 
        If (Wscript.Arguments(0) = "#"Then 
            strArg1 = Wscript.Arguments(0) & Wscript.Arguments(1) _ 
                & Wscript.Arguments(2) & Wscript.Arguments(3) 
            strArg2 = Wscript.Arguments(4) 
            If (Left(strArg2, 1) = "/"Then 
                blnIE = False 
            Else 
                Wscript.Echo "Error, invalid RGB values: " & strArg1 & " " & strArg2 
                Wscript.Quit 
            End If 
            If (ParseValues(strArg1, arrValues) = FalseThen 
                Wscript.Echo "Error, invalid RGB values: " & strArg1 & " " & strArg2 
                Wscript.Quit 
            End If 
        Else 
            Wscript.Echo "Error, invalid RGB values" 
        End If 
    Case Else 
        Wscript.Echo "Error, invalid RGB values" 
        Wscript.Quit 
End Select 
 
' Consider all of the standard colors. 
lngMin1 = 3*255*255 
For k = 0 To 138 
    ' Calculate the distance between this standard color and the RGB values. 
    lngValue = (arrColors(k, 1) - arrValues(0))^2 _ 
        + (arrColors(k, 2) - arrValues(1))^2 _ 
        + (arrColors(k, 3) - arrValues(2))^2 
    ' Keep track of the three colors with the smallest distances (least differences). 
    If (lngValue <= lngMin1) Then 
        intColor3 = intColor2 
        lngMin3 = lngMin2 
        intColor2 = intColor1 
        lngMin2 = lngMin1 
        intColor1 = k 
        lngMin1 = lngValue 
    ElseIf (lngValue <= lngMin2) Then 
        intColor3 = intColor2 
        lngMin3 = lngMin2 
        intColor2 = k 
        lngMin2 = lngValue 
    ElseIf (lngValue <= lngMin3) Then 
        intColor3 = k 
        lngMin3 = lngValue 
    End If 
Next 
 
dblMin1 = Sqr(lngMin1) 
dblMin2 = Sqr(lngMin2) 
dblMin3 = Sqr(lngMin3) 
 
If (InStr(LCase(Wscript.FullName), "cscript.exe") > 0Then 
    ' Output the best three colors, with their distances from the rgb value specified. 
    Wscript.Echo "             Color Name           RGB Value    Hex Value    Error" 
    Wscript.Echo "Input RGB                         " _ 
        & Right("  " & CStr(arrValues(0)), 3) _ 
        & " " & Right("  " & CStr(arrValues(1)), 3) _ 
        & " " & Right("  " & CStr(arrValues(2)), 3) _ 
        & "  #" & DecToHex(arrValues(0)) & DecToHex(arrValues(1)) & DecToHex(arrValues(2)) 
    Wscript.Echo "Best Color   " & Left(arrColors(intColor1, 0) & "                    "21) _ 
        & Right("  " & CStr(arrColors(intColor1, 1)), 3) _ 
        & " " & Right("  " & CStr(arrColors(intColor1, 2)), 3) _ 
        & " " & Right("  " & CStr(arrColors(intColor1, 3)), 3) _ 
        & "  #" & DecToHex(arrColors(intColor1, 1)) & DecToHex(arrColors(intColor1, 2)) _ 
        & DecToHex(arrColors(intColor1, 3)) _ 
        & "    " & Right("       " & FormatNumber(dblMin1, 3), 8) 
    Wscript.Echo "Second Best  " & Left(arrColors(intColor2, 0) & "                    "21) _ 
        & Right("  " & CStr(arrColors(intColor2, 1)), 3) _ 
        & " " & Right("  " & CStr(arrColors(intColor2, 2)), 3) _ 
        & " " & Right("  " & CStr(arrColors(intColor2, 3)), 3) _ 
        & "  #" & DecToHex(arrColors(intColor2, 1)) & DecToHex(arrColors(intColor2, 2)) _ 
        & DecToHex(arrColors(intColor2, 3)) _ 
        & "    " & Right("       " & FormatNumber(dblMin2, 3), 8) 
    Wscript.Echo "Third Best   " & Left(arrColors(intColor3, 0) & "                    "21) _ 
        & Right("  " & CStr(arrColors(intColor3, 1)), 3) _ 
        & " " & Right("  " & CStr(arrColors(intColor3, 2)), 3) _ 
        & " " & Right("  " & CStr(arrColors(intColor3, 3)), 3) _ 
        & "  #" & DecToHex(arrColors(intColor3, 1)) & DecToHex(arrColors(intColor3, 2)) _ 
        & DecToHex(arrColors(intColor3, 3)) _ 
        & "    " & Right("       " & FormatNumber(dblMin3, 3), 8Else 
    blnIE = True 
End If 
 
If (blnIE = False)Then 
    Wscript.Quit 
End If 
 
' Use IE to display results. 
Set objShell = CreateObject("Wscript.Shell") 
strIETitle = "Best Colors" 
strMsg = "<p>Best color matches to specified RGB value</p>" _ 
    & "<table style='font-family: ""courier new""; font-size: 11px;' border=""1"" rules = ""all"">" _ 
    & "<tbody>" _ 
    & "<tr>" _ 
    & "<td style=""text-align: left; padding-left: 5px;""><strong>Selection</strong></td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;""><strong>RGB Value</strong></td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;""><strong>Hex Value</strong></td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;""><strong>Color Name</strong></td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;""><strong>Color</strong></td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;""><strong>Error</strong></td>" _ 
    & "</tr>" _ 
    & "<tr>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">Specfied Color</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">" & arrValues(0) & ", " _ 
    & arrValues(1) & ", " & arrValues(2) & "</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">" & "#" & DecToHex(arrValues(0)) _ 
    & DecToHex(arrValues(1)) & DecToHex(arrValues(2)) & "</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;""></td>" _ 
    & "<td style=""text-align: left; padding-left: 5px; background-color: rgb(" & arrValues(0) _ 
    & ", " & arrValues(1) & ", " & arrValues(2) & ");""></td>" _ 
    & "<td style=""text-align: right; padding-right: 5px;""></td>" _ 
    & "</tr>" _ 
    & "<tr>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">Best Color</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">" & arrColors(intColor1, 1) _ 
    & ", " & arrColors(intColor1, 2) & ", " & arrColors(intColor1, 3) & "</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">" & "#" & DecToHex(arrColors(intColor1, 1)) _ 
    & DecToHex(arrColors(intColor1, 2)) & DecToHex(arrColors(intColor1, 3)) & "</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">" & arrColors(intColor1, 0) & "</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px; background-color: " & arrColors(intColor1, 0) & ";""></td>" _ 
    & "<td style=""text-align: right; padding-right: 5px;"">" & FormatNumber(dblMin1, 3) & "</td>" _ 
    & "</tr>" _ 
    & "<tr>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">Second Best</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">" & arrColors(intColor2, 1) _ 
    & ", " & arrColors(intColor2, 2) & ", " & arrColors(intColor2, 3) & "</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">" & "#" & DecToHex(arrColors(intColor2, 1)) _ 
    & DecToHex(arrColors(intColor2, 2)) & DecToHex(arrColors(intColor2, 3)) & "</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">" & arrColors(intColor2, 0) & "</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px; background-color: " & arrColors(intColor2, 0) & ";""></td>" _ 
    & "<td style=""text-align: right; padding-right: 5px;"">" & FormatNumber(dblMin2, 3) & "</td>" _ 
    & "</tr>" _ 
    & "<tr>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">Third Best</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">" & arrColors(intColor3, 1) _ 
    & ", " & arrColors(intColor3, 2) & ", " & arrColors(intColor3, 3) & "</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">" & "#" & DecToHex(arrColors(intColor3, 1)) _ 
    & DecToHex(arrColors(intColor3, 2)) & DecToHex(arrColors(intColor3, 3)) & "</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px;"">" & arrColors(intColor3, 0) & "</td>" _ 
    & "<td style=""text-align: left; padding-left: 5px; background-color: " & arrColors(intColor3, 0) & ";""></td>" _ 
    & "<td style=""text-align: right; padding-right: 5px;"">" & FormatNumber(dblMin3, 3) & "</td>" _ 
    & "</tr>" _ 
    & "</tbody></table>" 
 
Set objIE = CreateObject("InternetExplorer.Application") 
objIE.ToolBar = False 
objIE.StatusBar = False 
objIE.Navigate("about:blank"Do Until objIE.readyState = 4 
    Wscript.Sleep 100 
Loop 
 
' IE 11 does not support document.ParentWindow. 
' Modified October 10, 2016, to ignore errors on IE 11. 
On Error Resume Next 
dblWidth = objIE.document.ParentWindow.Screen.AvailWidth  
dblHeight = objIE.document.ParentWindow.Screen.AvailHeight 
dblNewWidth = dblWidth * 0.6 
dblNewHeight= dblHeight * 0.5 
objIE.document.ParentWindow.resizeto dblNewWidth, dblNewHeight 
objIE.document.ParentWindow.moveto (dblWidth - dblNewWidth)/2, (dblHeight - dblNewHeight)/2 
 
objIE.Document.Body.InnerHTML = "<html><body>" & strMsg & "</body></html>" 
 
objIE.document.Write "<html><body>" & strMsg & "</body></html>" 
objIE.document.ParentWindow.document.body.scroll="no" 
 
objIE.document.ParentWindow.document.body.style.Font = "10pt 'Courier New'" 
objIE.document.ParentWindow.document.body.style.borderStyle = "outset" 
objIE.document.ParentWindow.document.body.style.borderWidth = "4px" 
 
On Error GoTo 0 
objIE.document.Title = strIETitle 
objIE.Visible = True 
Wscript.Sleep 100 
objShell.AppActivate strIETitle & " - Windows Internet Explorer" 
 
Function HexToDec(strValue) 
    ' Function to convert 2 character hex value into decimal integer. 
    Dim k, strDigit, intDigit 
 
    HexToDec = 0 
    For k = 1 To 2 
        strDigit = Mid(strValue, k, 1) 
        Select Case LCase(strDigit) 
            Case "0""1""2""3""4""5""6""7""8""9" 
                intDigit = CInt(strDigit) 
            Case "a" 
                intDigit = 10 
            Case "b" 
                intDigit = 11 
            Case "c" 
                intDigit = 12 
            Case "d" 
                intDigit = 13 
            Case "e" 
                intDigit = 14 
            Case "f" 
                intDigit = 15 
            Case Else 
                HexToDec = 256 
                Exit Function 
        End Select 
        HexToDec = HexToDec + intDigit * 16^(2 - k) 
    Next 
End Function 
 
Function DecToHex(strValue) 
    ' Function to convert decimal integer into 2 character hex value. 
    DecToHex = Right("0" & Hex(strValue), 2End Function 
 
Function ParseValues(ByVal strValue, ByRef arrItems) 
    ' Function to parse RGB hex or decimal values. 
    ' Returns True if values valid, False otherwise. 
    ' The array arrItems will be returned with the 3 decimal RGB values. 
    Dim objRE, objMatches, objMatch, k, intValue 
 
    If (Trim(strValue) = ""Then 
        ParseValues = False 
        Exit Function 
    End If 
    If (Left(Trim(strValue), 1) = "#"Then 
        ' Hex RGB values. 
        strValue = Replace(strValue, " """) 
        strValue = Replace(strValue, ",""") 
        If (Len(strValue) = 7Then 
            arrItems(0) = HexToDec(Mid(strValue, 22)) 
            arrItems(1) = HexToDec(Mid(strValue, 42)) 
            arrItems(2) = HexToDec(Mid(strValue, 62)) 
            If (arrItems(0) > 255Or (arrItems(1) > 255Or (arrItems(2) > 255Then 
                ParseValues = False 
            Else 
                ParseValues = True 
            End If 
        Else 
            ParseValues = False 
            Exit Function 
        End if 
    Else 
        ' Decimal RGB values. 
        Set objRE = New RegExp 
        objRE.Pattern = "[a-zA-Z]" 
        objRE.Global = True 
        Set objMatches = objRE.Execute(strValue) 
        If (objMatches.Count > 0Then 
            ParseValues = False 
            Exit Function 
        End If 
        objRE.Pattern = "[0-9]+" 
        Set objMatches = objRE.Execute(strValue) 
        If (objMatches.Count <> 3Then 
            ParseValues = False 
            Exit Function 
        End If 
        k = 0 
        For Each objMatch In objMatches 
            intValue = objMatch.Value 
            If (intValue > 255Then 
                ParseValues = False 
                Exit Function 
            Else 
                arrItems(k) = intValue 
                k = k + 1 
            End If 
        Next 
        ParseValues = True 
    End If 
End Function