2009-11-09 4 views
0

Outlook 2002에서 사용자의 기본 글꼴을 설정할 vbscript를 만들도록 요청되었습니다. 세 가지 레지스트리 키를 변경하고 글꼴 세부 정보를 업데이트해야하는 코드가 있습니다. 키는 레지스트리에서 업데이트되지만 Outlook에는 영향을 미치지 않습니다. Outlook을 다시 시작하고 컴퓨터를 다시 부팅하면 글꼴이 변경되지 않습니다. 제가 사용하는 코드는 아래에 있습니다. 어떤 도움을받을 수 있습니까?Outlook 2002의 기본 글꼴 업데이트

Dim strValue 
Dim strKey 
Set oshell = CreateObject("WScript.Shell") 

strValue = "3c,00,00,00,0f,00,00,e8,00,00,00,40,c8,00,00,00,4a,04,03,00,00,00,00,00,00,20,54,72,65,62,75,63,68,65,74,20,4d,53,00,00,00,00,00,00,00,00,00,00,f0,db,66,34,2c,eb,13,00,01,00,00,00" 
strkey = "HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Common\MailSettings\ComposeFontSimple" 
oshell.RegWrite strKey,strValue,"REG_BINARY" 

strValue = "3c 00 00 00 0f 00 00 e8 00 00 00 00 c8 00 00 00 4a 04 03 00 00 00 ff 00 00 20 54 72 65 62 75 63 68 65 74 20 4d 53 00 00 00 00 00 00 00 00 00 00 f0 db 66 34 2c eb 13 00 01 00 00 00" 
strkey = "HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Common\MailSettings\ReplyFontSimple" 
oshell.RegWrite strKey,strValue,"REG_BINARY" 

strValue = "3c 00 00 00 0f 00 00 e8 00 00 00 40 c8 00 00 00 4a 04 03 00 00 00 00 00 00 20 54 72 65 62 75 63 68 65 74 20 4d 53 00 00 00 00 00 00 00 00 00 00 f0 db 66 34 2c eb 13 00 01 00 00 00" 
strkey = "HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Common\MailSettings\TextFontSimple" 
oshell.RegWrite strKey,strValue,"REG_BINARY" 

답변

0

해결책을 찾았습니다. 다른 객체를 사용하고 아래의 레지스트리 필드에 이진 값을 쓰려면 문자열 값을 16 진수 값으로 변환해야했습니다.

HKEY_CURRENT_USER = &H80000001 
strComputer = "." 

Set ObjRegistry = _ 
    GetObject("winmgmts:{impersonationLevel = impersonate}!\\" _ 
    & strComputer & "\root\default:StdRegProv") 

strPath = "Software\Microsoft\Office\10.0\Common\MailSettings\" 

Set objRegistry = _ 
    GetObject("Winmgmts:root\default:StdRegProv") 

uBinary = Array(&H3c,&H00,&H00,&H00,&H0f,&H00,&H00,&He8,&H00,&H00,&H00,&H40,&Hc8,&H00,&H00,&H00,&H4a,&H04,&H03,&H00,&H00,&H00,&H00,&H00,&H00,&H20,&H54,&H72,&H65,&H62,&H75,&H63,&H68,&H65,&H74,&H20,&H4d,&H53,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&Hf0,&Hdb,&H66,&H34,&H2c,&Heb,&H13,&H00,&H01,&H00,&H00,&H00) 

uBinaryReply = Array(&H3c,&H00,&H00,&H00,&H0f,&H00,&H00,&He8,&H00,&H00,&H00,&H00,&Hc8,&H00,&H00,&H00,&Ha0,&H02,&H0e,&H00,&H00,&H00,&Hff,&H00,&H00,&H20,&H54,&H72,&H65,&H62,&H75,&H63,&H68,&H65,&H74,&H20,&H4d,&H53,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&H00,&Hf0,&Hdb,&H66,&H34,&H2c,&Heb,&H13,&H00,&H01,&H00,&H00,&H00) 

Return = objRegistry.SetBinaryValue(HKEY_CURRENT_USER, _ 
    strPath, _ 
    "ComposeFontSimple", _ 
    uBinary) 

Return = objRegistry.SetBinaryValue(HKEY_CURRENT_USER, _ 
    strPath, _ 
    "ReplyFontSimple", _ 
    uBinaryReply) 

Return = objRegistry.SetBinaryValue(HKEY_CURRENT_USER, _ 
    strPath, _ 
    "TextFontSimple", _ 
    uBinary)