2017-10-05 1 views
0

私はCOM Interopを使用して自動的にMS-Projectファイルを作成し、いくつかのタスクを追加しました。COM Interopでプロジェクトにヘッダーを追加します

私は自動的に以下のようにMS-Wordで動作する方法よりも、同様に、このファイルにヘッダーとフッターを追加しようとしています :

foreach (Microsoft.Office.Interop.Word.Section section in myDoc.Sections) 
{ 
    Microsoft.Office.Interop.Word.Range headerRange = section.Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range; 
    headerRange.Fields.Add(headerRange, Microsoft.Office.Interop.Word.WdFieldType.wdFieldPage); 
    headerRange.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight; 
} 

しかし、私は被写体に文書を見つけることができませんが、あります少なくともそれは可能ですか?

編集

私はこの構文を使用して試してみました:

Application.FilePageSetupHeader , 1, "Date: &[Date]" 

しかし、それは、VBAの構文のように見えると私は相互運用COMとC#を使用しています。

私はいくつかのテストをしながら私が見つけたこの命令で試してみた:

project.Application.FilePageSetupHeader(1, PjAlignment.pjCenter, "Date"); 

しかし、それはなかれ私は、このエラーSystem.Runtime.InteropServices.COMExceptionを与える:「引数の値が有効ではありません。 '

誰でもC#でのクリーンな構文や、FilePageSetupHeaderがC#で動作する方法を知っていますか?

答えて

1

機能FilePageSetupHeaderのすべてのパラメータがoptionalsているように、それは最初のパラメータと思わ、ビューが必要です。だから私は、この(私は私のプロジェクトに一つだけのビューを持っている)のようにそれを取得しなければならなかった:

projApp.Application.FilePageSetupHeader(view, Microsoft.Office.Interop.MSProject.PjAlignment.pjCenter, 
               "Date: " + DateTime.Now.ToString("dd/MM/yyyy")); 

注: projAppは、マイクロソフトで

Microsoft.Office.Interop.MSProject.Views views = project.Views; 
Microsoft.Office.Interop.MSProject.View view = null; 
foreach(Microsoft.Office.Interop.MSProject.View vw in views) 
{ 
    view = vw; 
} 

次に、あなたのヘッダーを編集し、それを使用することができます.Office.Interop.MSProject.Applicationオブジェクト。

1

MS Projectのヘッダーとフッターは基本的なものです。各セクション(左、中央、右)には単一の文字列プロパティがあります。フォーマットはフォーマットコードで行われます。

例えば、これは、中央ヘッダに日付を追加:

Application.FilePageSetupHeader , PjAlignment.pjCenter, "Date: &[Date]" 

FilePageSetupHeader Documentation

FilePageSetupFooter Documentation

+0

最初の引数はビューまたはレポートの名前であり、オプションであることに注意してください。最初の引数として1を入れないでください。第2引数を組み込み定数(例:1 = 'PjAlignment.pjCenter')に変更する答えを更新しました。 –

関連する問題