2

アプリケーションから MS OneNote にテキストをエクスポートし、Office バージョン 2007、2010、2013、および 2016 をサポートしたいと考えていMicrosoft.Office.Interop.OneNote.dll Version:12.0.ます。すべての Office バージョンで提供されている 0 を使用しています。

問題は、Office 2013 で "CreateNewPage" を使用して新しい OneNote ページを作成しようとすると、例外が発生することです。

hrSectionReadOnly 0x8004200b

  • このセクションは読み取り専用です。

readOnly="true"変更しようとした属性が表示されますが、役に立ちません。それでも同じ例外が発生します。

私が参照するとMicrosoft.Office.Interop.OneNote.dll Version:15.0.0、すべて正常に動作します。

読み取り専用である理由と、問題を解決するにはどうすればよいですか?

コード例は次のとおりです。

string strPath;
string sectionId;
string xml;
// points directly on OneNote's Unfiled section
_app.GetSpecialLocation(SpecialLocation.slUnfiledNotesSection, out strPath);

_app.OpenHierarchy(strPath, "", out sectionId, CreateFileType.cftSection);
_app.CreateNewPage(sectionId, out _sectionId, NewPageStyle.npsDefault);

var strImportXml = @"<?xml version='1.0' ?> 
    <one:Page xmlns:one='" + _oneNoteNamespace + "' ID='" + _sectionId + @"'>
        <one:Title>
               <one:OE>
                      <one:T>
                             <![CDATA[ 
                             ]]> 
                      </one:T>
               </one:OE>
        </one:Title>
        <one:Outline>
               <one:Meta name='Rumba' content='" + new Random().Next() + @"' /> 
                      <one:OEChildren>
                             <one:HTMLBlock>
                                    <one:Data>
                                           <![CDATA[My sample page]]> 
                                    </one:Data>
                              </one:HTMLBlock>
                      </one:OEChildren>
        </one:Outline>
    </one:Page>";

_app.UpdatePageContent(strImportXml, DateTime.MinValue);
_app.NavigateTo(_sectionId, String.Empty, true);
4

1 に答える 1