MicrosoftOneNoteドキュメントをPDFファイルに変換しようとしています。
Microsoft.Office.Interop.OneNote.Application oneNote;
oneNote = new Microsoft.Office.Interop.OneNote.Application();
string noteBookXML;
oneNote.GetHierarchy(null, HierarchyScope.hsNotebooks, out noteBookXML);
XDocument doc = XDocument.Parse(noteBookXML);
XNamespace ns = doc.Root.Name.Namespace;
foreach (var noteBookNode in from node in doc.Descendants(ns + "Notebook") select node)
{
string id = noteBookNode.Attribute("ID").Value;
string path = "C:\\convert.pdf";
if (File.Exists(path))
File.Delete(path);
try
{
oneNote.Publish(id, path, PublishFormat.pfPDF, "");
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
上記のコードで現在publish呼び出しに到達しているので、それをステップオーバーすると、Microsoft OneNoteが機能しなくなり(一般的なウィンドウ「Xは機能を停止しました。お待ちください」)、次の例外が発生します。
{System.Runtime.InteropServices.COMException (0x800706BE): The remote procedure call failed. (Exception from HRESULT: 0x800706BE)
at Microsoft.Office.Interop.OneNote.ApplicationClass.Publish(String bstrHierarchyID, String bstrTargetFilePath, PublishFormat pfPublishFormat, String bstrCLSIDofExporter)
at Conversion.OneNoteConverter.run() in G:\Code\OneNoteConversion\Conversion\OneNoteConverter.cs:line 34}
誰かがこれを機能させることができましたか?私は明らかに間違ったことをしていますか?
前もって感謝します。
私がフォローしようとしているリソース:
http://msdn.microsoft.com/en-us/library/ms788684.aspx
http://social.technet.microsoft.com/Forums/en/office2010/thread/900dd92b-6e5c-40e5-86ec-f18c1a1fc050
http://www.technologyquestions.com/community/threads/api-onenote-2007-publish.117776/