Tôi đang đọc văn bản từ tệp từ và thay thế một số văn bản từ văn bản đã đọc.Sao chép văn bản từ tệp từ vào một từ mới
var wordApp = new Microsoft.Office.Interop.Word.Application();
object file = path;
object nullobj = System.Reflection.Missing.Value;
var doc = wordApp.Documents.Open(ref file, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj);
doc.ActiveWindow.Selection.WholeStory();
doc.ActiveWindow.Selection.Copy();
IDataObject data = Clipboard.GetDataObject();
var text =data.GetData(DataFormats.Text);
Vì vậy, tôi có văn bản từ tệp gốc, và bây giờ tôi cần nó để chuyển sang tệp từ mới không tồn tại (Văn bản mới).
tôi đã cố gắng
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "WINWORD.EXE";
Process.Start(startInfo);
này mở file word mới mà không được lưu chất trong hệ thống tập tin mà là tốt. Nhưng tôi không chắc chắn làm thế nào có thể vượt qua giá trị văn bản cho tập tin mới này.
Cập nhật
Sau khi chạy trên mã tôi đã cố gắng
var wordApp = new Microsoft.Office.Interop.Word.Application();
var doc = wordApp.ActiveDocument;
nào đi kèm với "Lệnh này không có sẵn vì không có tài liệu đang mở."
Bạn đã thấy điều này: http: // stackoverflow. com/questions/5160964/copy-content-of-word-doc-và-paste-into-another-c-sharp – MUG4N
@ MUG4N: Tôi thấy một cái gì đó tương tự [ở đây] (http://pastebin.com/1sV8es7b), nhưng tôi không chắc 'worddocpromo' là gì. Không có giải thích –
@huMptyduMpty bạn nên dựa vào từ interop để làm điều này thay vì process.start. Tạo một tài liệu word mới, thiết lập nội dung, lưu nó vào một vị trí khác, bây giờ mở nó từ đó bằng cách sử dụng process.start hoặc như vậy. Đừng quên vứt bỏ các đối tượng com đúng cách – nawfal