COM Interop を介して Aspose.Words ライブラリを使用しようとしています。重大な問題が 1 つあります。色を設定できません。DocumentBuilder.Font.Color に割り当てることで動作するはずですが、実行しようとすると OLE エラー 0x80131509 が発生します。私の問題はこれとほとんど同じです。
アップデート:
コードサンプル:
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 の問題のようです。