2016-09-18 1 views
2

を使用して、私はMSのOneNoteとサポートのバージョンのOfficeに自分のアプリケーションからテキストをエクスポートしたいと思います:2007、2010、2013年と2016年、それがすべてのバージョンのOfficeに付属していますように私はMicrosoft.Office.Interop.OneNote.dll Version:12.0. 0を使用しています。エクスポートC#

hrSectionReadOnly 0x8004200b

  • セクションでは、次のとおりです。私は "CreateNewPageは" 私は例外を取得しています使用してのOffice 2013の新しいOneNoteのページを作成しようとすると

    問題があります読み取り専用です。

私はそれを変更しようとした、それは助けていない属性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); 

答えて

0
private void ExportDataSetToOther(System.Data.DataTable dataTable, bool isActive) 
{ 
    string path = string.Empty; 
    var lines = new List<string>(); 
    if (isActive) 
    { 
     path = savingFileName.Remove(savingFileName.LastIndexOf('\\') + 1); 
     savingFileName = path + transactionName + DetailsOrSummary + (page + 1) +"."+ extention;// extention means .txt,.xlx,.one,.xlxs etc 
     isActive = false; 
     string[] columnNames = dataTable.Columns.Cast<DataColumn>(). 
            Select(column => column.ColumnName). 
            ToArray(); 

     var header = string.Join(",", columnNames); 
     lines.Add(header); 

     var valueLines = dataTable.AsEnumerable() 
          .Select(row => string.Join(",", row.ItemArray)); 
     lines.AddRange(valueLines); 

     File.WriteAllLines(savingFileName, lines); 
    } 
    else 
    { 
     var valueLines1 = dataTable.AsEnumerable() 
          .Select(row => string.Join(",", row.ItemArray)); 
     lines.AddRange(valueLines1); 

     File.AppendAllLines(savingFileName, lines); 

    } 

} 

ファイルをチェックし、現在のデータは、私はドン値

+0

を終了すると追加されますので、あなたが他の部分で行うことができますアクティブでない場合は」アクティブかではありません新しいファイルを書きたい。 Microsoft.Office.Interop.OneNote.dllバージョン:12.0.0を使用して、既存のOneNoteドキュメントにページを追加/作成したい。私はコードサンプル(上記参照) – xbuster

+0

で質問を更新し、File.AppendAllLines(saveFileName、上記の編集済みのコードラインを参照)を使用できるデータを追加しました。 –

+0

私は2番目の答えとして編集したコードを入れます –

関連する問題