Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
Untuk Microsoft Visual Basic.NET versi artikel ini, lihat 301656
(http://support.microsoft.com/kb/301656/
)
.
Untuk versi Microsoft Visual Basic 6.0 dan Microsoft Visual Basic 5.0 artikel ini, lihat 220607
(http://support.microsoft.com/kb/220607/
)
.
Artikel ini menunjukkan bagaimana untuk mengotomatisasi Microsoft Word untuk membuat
Dokumen surat-bergabung dengan menggunakan Microsoft Visual C# 2005 atau Microsoft Visual C#.NET.
Otomatisasi adalah proses yang memungkinkan aplikasi yang
ditulis dalam bahasa-bahasa Visual C# 2005 atau Visual C#.NET untuk pemrograman mengendalikan lain
aplikasi. Otomatisasi Word memungkinkan Anda untuk melakukan tindakan seperti menciptakan
dokumen baru, menambahkan teks ke dokumen, dan format dokumen. Dengan kata
dan aplikasi Microsoft Office, hampir semua tindakan yang Anda
dapat melakukan secara manual melalui pengguna antarmuka dapat juga dilakukan
Pemrograman dengan menggunakan otomatisasi.
Kata memperlihatkan ini program
fungsi ini melalui model objek. Model objek adalah kumpulan
kelas dan metode yang berfungsi sebagai rekan-rekan untuk komponen logis
Kata. Sebagai contoh, ada Aplikasi objek, Dokumen objek, dan Ayat objek, masing-masing berisi fungsi mereka
komponen di Word. Mengakses object model dari Visual C# 2005 atau Visual C#.NET, Anda dapat mengatur
proyek referensi ke perpustakaan jenis.
Artikel ini menunjukkan
cara mengatur proyek tepat referensi ke perpustakaan jenis kata untuk Visual C#
.NET dan menyediakan kode contoh untuk mengotomatisasi kata.
Mulai Microsoft Visual Studio 2005 atau Microsoft Visual Studio.NET.
Pada Berkas menu, klik Baru, lalu klik Project. Pilih Aplikasi Windows dari jenis Visual C# proyek. Form1 dibuat secara default.
Menambahkan referensi ke Perpustakaan objek Microsoft Word 11,0 dalam Visual Studio 2005 atau untuk Perpustakaan objek Microsoft Word dalam Visual Studio.NET. Untuk melakukannya, ikuti langkah-langkah berikut:
Pada Project menu, klik Menambahkan referensi.
Pada COM tab, Cari Perpustakaan objek Microsoft Word kemudian klik Pilih.
Pada Visual Studio 2005, Cari Perpustakaan objek Microsoft Word 11,0 pada COM tab.
Catatan Microsoft Office 2003 mencakup Interop utama Majelis (PIAs). Microsoft Office
XP tidak mencakup PIAs, tetapi mereka dapat di-download.Untuk informasi lebih lanjut tentang Office XP PIAs, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
328912
(http://support.microsoft.com/kb/328912/
)
INFO: Microsoft Office XP PIAs tersedia untuk di-Download
Klik Oke dalam Menambahkan referensi kotak dialog untuk menerima pilihan Anda.
Pada Lihat menu, pilih Toolbox untuk menampilkan toolbox, dan kemudian menambahkan tombol ke Form1.
Klik dua kali Button1. Jendela kode untuk bentuk muncul.
Word.Application wrdApp;
Word._Document wrdDoc;
Object oMissing = System.Reflection.Missing.Value;
Object oFalse = false;
private void InsertLines(int LineNum)
{
int iCount;
// Insert "LineNum" blank lines.
for(iCount = 1; iCount<=LineNum; iCount++)
{
wrdApp.Selection.TypeParagraph();
}
}
private void FillRow(Word._Document oDoc, int Row, string Text1,
string Text2, string Text3, string Text4)
{
// Insert the data into the specific cell.
oDoc.Tables[1].Cell(Row,1).Range.InsertAfter(Text1);
oDoc.Tables[1].Cell(Row,2).Range.InsertAfter(Text2);
oDoc.Tables[1].Cell(Row,3).Range.InsertAfter(Text3);
oDoc.Tables[1].Cell(Row,4).Range.InsertAfter(Text4);
}
private void CreateMailMergeDataFile()
{
Word._Document oDataDoc;
int iCount;
Object oName = "C:\\DataDoc.doc";
Object oHeader = "FirstName, LastName, Address, CityStateZip";
wrdDoc.MailMerge.CreateDataSource(ref oName,ref oMissing,
ref oMissing,ref oHeader, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing);
// Open the file to insert data.
oDataDoc = wrdApp.Documents.Open(ref oName,ref oMissing,
ref oMissing, ref oMissing,ref oMissing,ref oMissing,
ref oMissing,ref oMissing,ref oMissing,ref oMissing,
ref oMissing,ref oMissing,ref oMissing,ref oMissing,
ref oMissing/*, ref oMissing */);
for (iCount=1; iCount<=2; iCount++)
{
oDataDoc.Tables[1].Rows.Add(ref oMissing);
}
// Fill in the data.
FillRow(oDataDoc, 2, "Steve", "DeBroux",
"4567 Main Street", "Buffalo, NY 98052");
FillRow(oDataDoc, 3, "Jan", "Miksovsky",
"1234 5th Street", "Charlotte, NC 98765");
FillRow(oDataDoc, 4, "Brian", "Valentine",
"12348 78th Street Apt. 214",
"Lubbock, TX 25874");
// Save and close the file.
oDataDoc.Save();
oDataDoc.Close(ref oFalse, ref oMissing, ref oMissing);
}
private void button1_Click(object sender, System.EventArgs e)
{
Word.Selection wrdSelection;
Word.MailMerge wrdMailMerge;
Word.MailMergeFields wrdMergeFields;
Word.Table wrdTable;
string StrToAdd;
// Create an instance of Word and make it visible.
wrdApp = new Word.Application();
wrdApp.Visible = true;
// Add a new document.
wrdDoc = wrdApp.Documents.Add(ref oMissing,ref oMissing,
ref oMissing,ref oMissing);
wrdDoc.Select();
wrdSelection = wrdApp.Selection;
wrdMailMerge = wrdDoc.MailMerge;
// Create a MailMerge Data file.
CreateMailMergeDataFile();
// Create a string and insert it into the document.
StrToAdd = "State University\r\nElectrical Engineering Department";
wrdSelection.ParagraphFormat.Alignment =
Word.WdParagraphAlignment.wdAlignParagraphCenter;
wrdSelection.TypeText(StrToAdd);
InsertLines(4);
// Insert merge data.
wrdSelection.ParagraphFormat.Alignment =
Word.WdParagraphAlignment.wdAlignParagraphLeft;
wrdMergeFields = wrdMailMerge.Fields;
wrdMergeFields.Add(wrdSelection.Range, "FirstName");
wrdSelection.TypeText(" ");
wrdMergeFields.Add(wrdSelection.Range, "LastName");
wrdSelection.TypeParagraph();
wrdMergeFields.Add(wrdSelection.Range, "Address");
wrdSelection.TypeParagraph();
wrdMergeFields.Add(wrdSelection.Range, "CityStateZip");
InsertLines(2);
// Right justify the line and insert a date field
// with the current date.
wrdSelection.ParagraphFormat.Alignment =
Word.WdParagraphAlignment.wdAlignParagraphRight;
Object objDate = "dddd, MMMM dd, yyyy";
wrdSelection.InsertDateTime(ref objDate,ref oFalse,ref oMissing,
ref oMissing, ref oMissing);
InsertLines(2);
// Justify the rest of the document.
wrdSelection.ParagraphFormat.Alignment =
Word.WdParagraphAlignment.wdAlignParagraphJustify;
wrdSelection.TypeText("Dear ");
wrdMergeFields.Add(wrdSelection.Range, "FirstName");
wrdSelection.TypeText(",");
InsertLines(2);
// Create a string and insert it into the document.
StrToAdd = "Thank you for your recent request for next " +
"semester's class schedule for the Electrical " +
"Engineering Department. Enclosed with this " +
"letter is a booklet containing all the classes " +
"offered next semester at State University. " +
"Several new classes will be offered in the " +
"Electrical Engineering Department next semester. " +
"These classes are listed below.";
wrdSelection.TypeText(StrToAdd);
InsertLines(2);
// Insert a new table with 9 rows and 4 columns.
wrdTable = wrdDoc.Tables.Add(wrdSelection.Range,9,4,
ref oMissing, ref oMissing);
// Set the column widths.
wrdTable.Columns[1].SetWidth(51, Word.WdRulerStyle.wdAdjustNone);
wrdTable.Columns[2].SetWidth(170, Word.WdRulerStyle.wdAdjustNone);
wrdTable.Columns[3].SetWidth(100, Word.WdRulerStyle.wdAdjustNone);
wrdTable.Columns[4].SetWidth(111, Word.WdRulerStyle.wdAdjustNone);
// Set the shading on the first row to light gray.
wrdTable.Rows[1].Cells.Shading.BackgroundPatternColorIndex =
Word.WdColorIndex.wdGray25;
// Bold the first row.
wrdTable.Rows[1].Range.Bold = 1;
// Center the text in Cell (1,1).
wrdTable.Cell(1, 1).Range.Paragraphs.Alignment =
Word.WdParagraphAlignment.wdAlignParagraphCenter;
// Fill each row of the table with data.
FillRow(wrdDoc, 1, "Class Number", "Class Name",
"Class Time", "Instructor");
FillRow(wrdDoc, 2, "EE220", "Introduction to Electronics II",
"1:00-2:00 M,W,F", "Dr. Jensen");
FillRow(wrdDoc, 3, "EE230", "Electromagnetic Field Theory I",
"10:00-11:30 T,T", "Dr. Crump");
FillRow( wrdDoc, 4, "EE300", "Feedback Control Systems",
"9:00-10:00 M,W,F", "Dr. Murdy");
FillRow(wrdDoc, 5, "EE325", "Advanced Digital Design",
"9:00-10:30 T,T", "Dr. Alley");
FillRow(wrdDoc, 6, "EE350", "Advanced Communication Systems",
"9:00-10:30 T,T", "Dr. Taylor");
FillRow(wrdDoc, 7, "EE400", "Advanced Microwave Theory",
"1:00-2:30 T,T", "Dr. Lee");
FillRow(wrdDoc, 8, "EE450", "Plasma Theory",
"1:00-2:00 M,W,F", "Dr. Davis");
FillRow(wrdDoc, 9, "EE500", "Principles of VLSI Design",
"3:00-4:00 M,W,F", "Dr. Ellison");
// Go to the end of the document.
Object oConst1 = Word.WdGoToItem.wdGoToLine;
Object oConst2 = Word.WdGoToDirection.wdGoToLast;
wrdApp.Selection.GoTo(ref oConst1,ref oConst2,ref oMissing,ref oMissing);
InsertLines(2);
// Create a string and insert it into the document.
StrToAdd = "For additional information regarding the " +
"Department of Electrical Engineering, " +
"you can visit our Web site at ";
wrdSelection.TypeText(StrToAdd);
// Insert a hyperlink to the Web page.
Object oAddress = "http://www.ee.stateu.tld";
Object oRange = wrdSelection.Range;
wrdSelection.Hyperlinks.Add(oRange, ref oAddress,ref oMissing,
ref oMissing, ref oMissing, ref oMissing);
// Create a string and insert it into the document
StrToAdd = ". Thank you for your interest in the classes " +
"offered in the Department of Electrical " +
"Engineering. If you have any other questions, " +
"please feel free to give us a call at " +
"555-1212.\r\n\r\n" +
"Sincerely,\r\n\r\n" +
"Kathryn M. Hinsch\r\n" +
"Department of Electrical Engineering \r\n";
wrdSelection.TypeText(StrToAdd);
// Perform mail merge.
wrdMailMerge.Destination = Word.WdMailMergeDestination.wdSendToNewDocument;
wrdMailMerge.Execute(ref oFalse);
// Close the original form document.
wrdDoc.Saved = true;
wrdDoc.Close(ref oFalse,ref oMissing,ref oMissing);
// Release References.
wrdSelection = null;
wrdMailMerge = null;
wrdMergeFields = null;
wrdDoc = null;
wrdApp = null;
// Clean up temp file.
System.IO.File.Delete("C:\\DataDoc.doc");
}
CatatanAnda harus mengubah kode pada Visual Studio 2005. Secara default, Visual C# menambahkan salah satu bentuk proyek ketika Anda membuat proyek Windows Forms. Bentuk nama Form1. Dua file yang mewakili bentuk yang bernama Form1.cs dan Form1.designer.cs. Anda menulis kode dalam Form1.cs. Form1.designer.cs file adalah di mana Windows Forms Designer menulis kode sumber yang mengimplementasikan semua tindakan Anda dilakukan dengan menyeret dan menjatuhkan kontrol dari Toolbox.
Untuk informasi lebih lanjut tentang Windows bentuk desainer Visual C# 2005, kunjungi Web site Microsoft Developer Network (MSDN) berikut:
Catatan Microsoft Office Word 2003 telah argumen tambahan untuk Terbuka metode dokumen. Jika Anda menggunakan Word 2003 PIA,
menghapus komentar notasi untuk parameter tambahan untuk Terbuka metode.
Tambahkan baris berikut ke atas Form1.cs:
using Word = Microsoft.Office.Interop.Word;
Tekan F5 untuk membangun dan menjalankan program.
Klik Button1 mulai Word Automation dan mengoperasikan gabungan surat.
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:301659
(http://support.microsoft.com/kb/301659/en-us/
)
Seberapa besar upaya Anda untuk menggunakan artikel ini?
Sangat sedikit
Sedikit
Sedang
Besar
Sangat besar
Berikan saran tentang apa yang dapat kami lakukan untuk menyempurnakan informasi ini
Terima kasih! Masukan Anda akan digunakan untuk membantu kami meningkatkan konten dukungan. Untuk opsi bantuan lainnya, kunjungi Halaman Beranda Bantuan dan Dukungan.