2010-05-29 99 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

回答