3

ユーザーからいくつかの入力を受け取り、適切なフォーマットの後にそれらを印刷する管理プロジェクトを作成しています

2つのプロジェクトを作成しました

  1. Windows フォーム アプリケーション (文字列 n datagridview で入力を取得するため)

  2. オフィス プロジェクト (私の最初のプロジェクトのデータの書式設定と印刷用)

オフィス プロジェクトとその .dll ファイルを最初のプロジェクトにインポートしましたが、問題は、パラメーター (string n datagridview) をオフィス プロジェクトの thisdocument クラスに渡す方法です。既にいくつかのパラメーターがあり、ビルドされたものを渡す方法がわかりません。 -in と最初のプロジェクトからの新しいパラメーター

private void printButton_Click(object sender, EventArgs e) { 
dataGridView.Rows.Add("1", "a", "1", "1"); 
dataGridView.Rows.Add("2", "b", "2", "2"); 
dataGridView.Rows.Add("3", "c", "3", "3"); 
WordDocumentProject.ThisDocument = new ThisDocument(); 
}
4

1 に答える 1

0

そのすべてが文書化されています。ここに素晴らしい例があります: Visual C# を使用して Microsoft Word を自動化して新しいドキュメントを作成する方法

したがって、datagridview の文字列を word に渡して印刷するには、次のようにします。

//Start Word and create a new document.
Word._Application oWord;
Word._Document oDoc;
oWord = new Word.Application();
oWord.Visible = true;
oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,ref oMissing, ref oMissing);

//Insert a datagridview info into the document.
DataTable dt = (DataTable)datagridview1.DataSource;
foreach(DataRow dr in dt.Rows)
{
Word.Paragraph oPara1;
oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing);
oPara1.Range.Text = dr[0].ToString();
oPara1.Range.Font.Bold = 1;
oPara1.Format.SpaceAfter = 24;    //24 pt spacing after paragraph.
oPara1.Range.InsertParagraphAfter();
于 2013-08-17T07:28:52.320 に答える