Office获取字体的正题颜色 vc++ 或者 vba操作Word

Office获取字体的主题颜色 vc++ 或者 vba操作Word

CharactersPtr pChars=pRange->GetCharacters();

int nCount=pChars->GetCount();
for (int i=1;i<nCount;i++)
{
RangePtr pRange=pChars->Item(i);
_FontPtr pFont=pRange->GetFont();

CString cstext=pRange->GetText();
if(cstext!=L"")
{
long crColor=pFont->GetColor();//获取字体颜色,正常是正数,可是当在Word中设置字体为主题颜色的时候,获取值为负值,不是正常的颜色值。
WdColorIndex p=pFont->GetColorIndex();


CWordFontEx wdWordFont(pFont);
if(!wdWordFont.IsCompositeFont())
{
AddNewFontStyle(wdWordFont,pStyleLirary);
}
}
}
经一天多的判定获取的负值一定是有意义的,应该与Word的主题颜色有关,可是如何将这个值转化为RGB(标准颜色)
在线等…………………………Office获取字体的正题颜色 vc++ 或者 vba操作WordOffice获取字体的正题颜色 vc++ 或者 vba操作Word

------解决方案--------------------
函数返回的值都是有意义的,你最好看看你的负值是多少。
xlColorIndexAutomatic -4105 Automatic color.
xlColorIndexNone -4142 No color.
------解决方案--------------------
http://msdn.microsoft.com/en-us/library/bb238769(v=office.12).aspx
把负值放出来看看多少
------解决方案--------------------
录一段宏看看VBA代码
------解决方案--------------------
PowerPoint 2007 开发人员参考 > 2007 Microsoft Office System 对象库参考 > 2007 Microsoft Office system 的对象模型参考 > ThemeColor 对象
 
ThemeColor 对象成员 

代表 Microsoft Office 2007 主题的配色方案中的一种颜色。

属性

  名称 说明 
 Application  获取一个代表 ThemeColor 对象的容器应用程序的 Application 对象。只读。 
 Creator  获取一个 32 位整数,指示创建 ThemeColor 对象时所使用的应用程序。只读。 
 Parent  获取 ThemeColor 对象的 Parent 对象。只读。 
 RGB  获取或设置 Microsoft Office 主题的配色方案中颜色的值。可读/写。 
 ThemeColorSchemeIndex  获取 Microsoft Office 主题的配色方案的索引值。只读。 

© 2006 Microsoft Corporation。保留所有权利。