2012-01-09 38 views
0

現在、OleDBを使用してExcelスプレッドシートに接続し、DataTableのデータを取得してデータを変更し、Wordにデータをコピーします。ExcelからWordにセルをコピーするときにセルの書式を設定する方法

このようにすると、テキストの一部が色付けされているか、背景色がグレーになっているか、太字になっているかのように、セルの書式が失われてしまいます。

私はInteropライブラリを使って単語と通信し、OLEDBをExcelで使用しています。

私が達成する必要があるほどこのソリューションが十分でない場合は、代替ソリューションを提案できますか? (マクロ?) 私はInterop.Excel.Stylesを使ってみましたが、現在使用されているセルとどのように関連付けるのか分かりません。

答えて

1

表の範囲をスプレッドシートにコピーし、書式設定を保持する単語文書に直接貼り付けます。

wordDoc.Tables.Add(b.Range,newsheet.UsedRange.Rows.Count,newsheet.UsedRange.Columns.Count); 
Microsoft.Office.Interop.Word.Table table = b.Range.Tables[1]; 
newsheet.UsedRange.Copy(); 
table.Range.Select(); 
wordApp.Selection.Paste(); 

wordDocはWord.DocでありwordAppはwordです。アプリケーション。これが役に立ちますようにお願いします。

0

ええ、そうなるでしょう。 OleDBは、情報を書式化するのではなく、データを移動します。書式設定が必要な場合は、ExcelからWordにコピー/貼り付けする必要があります。プロセスを自動化する必要がある場合は、外部からExcelとWordを制御する最も簡単な方法はVBAです。

+0

Interopライブラリでフォーマットを保存して移動することは可能ですが、特定の操作を実行する必要があるため、そこでは障害があります。 – gizgok

関連する問題