2010-05-29 98 views
0

我想通过COM Interop使用Aspose.Words库。有一个关键问题:我无法设置颜色。它应该通过分配给DocumentBuilder.Font.Color工作,但是当我尝试这样做时,我得到OLE错误0x80131509。我的问题与this one非常相似。通过.NET COM设置System.Drawing.Color Interop

更新:

代码示例:

from win32com.client import Dispatch 
Doc = Dispatch("Aspose.Words.Document") 
Builder = Dispatch("Aspose.Words.DocumentBuilder") 
Builder.Document = Doc 
print Builder.Font.Size 
print Builder.Font.Color 

结果:

12.0 
Traceback (most recent call last): 
    File "aaa.py", line 6, in <module> 
    print Builder.Font.Color 
    File "D:\Python26\lib\site-packages\win32com\client\dynamic.py", line 501, in __getattr__ 
    ret = self._oleobj_.Invoke(retEntry.dispid,0,invoke_type,1) 
pywintypes.com_error: (-2146233079, 'OLE error 0x80131509', None, None) 

使用类似Font.Color =为0xFF0000失败,相同的错误消息

尽管此代码作品好的:

using Aspose.Words; 
namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Document doc = new Document(); 
      DocumentBuilder builder = new DocumentBuilder(doc); 
      builder.Font.Color = System.Drawing.Color.Blue; 
      builder.Write("aaa"); 
      doc.Save("c:\\1.doc"); 
     } 
    } 
} 

所以它看起来像COM Interop问题。

+0

向我们展示了你正在做的一小段代码,请致电 – OlimilOops 2010-05-29 10:27:56

回答