Cara membuat makro Excel dengan menggunakan otomatisasi dari Visual C#.NET

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 303872 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini selangkah demi selangkah menjelaskan cara mengotomatisasi Microsoft Excel dengan menggunakan Microsoft Visual C#.NET untuk buat buku kerja yang berisi makro baru yang terkait dengan CommandBar tombol.

INFORMASI LEBIH LANJUT

Langkah-langkah untuk membuat sampel Visual C#.NET aplikasi

  1. Mulai Microsoft Visual Studio.NET.
  2. Pada Berkas menu, klik Baru, lalu klik Project. Pilih Aplikasi Windows dari jenis Visual C# proyek. Form1 dibuat secara default.
  3. Menambahkan referensi ke Perpustakaan objek Microsoft Excel dan Microsoft Visual Basic untuk aplikasi Extensibility perpustakaan. Untuk melakukannya, ikuti langkah-langkah berikut:
    1. Pada Project menu, klik Menambahkan referensi.
    2. Pada COM tab, Cari Microsoft Excel Perpustakaan objek, lalu klik Pilih. Kemudian cari Microsoft Visual Basic untuk aplikasi Extensibility perpustakaan, lalu klik Pilih.

      Catatan Microsoft Office 2003 mencakup Majelis Interop utama (PIAs). Microsoft Office XP tidak mencakup PIAs, tetapi mereka dapat di-download.Untuk informasi tambahan tentang Office XP PIAs, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
      328912INFO: Microsoft Office XP PIAs tersedia untuk di-Download
    3. Klik Oke dalam Menambahkan referensi kotak dialog untuk menerima pilihan Anda.
  4. Pada Lihat menu, pilih Toolbox untuk menampilkan Toolbox, dan menambahkan tombol ke Form1.
  5. Klik dua kali Button1. Kode jendela terbuka di Klik acara untuk Button1. Tambahkan baris berikut kode untuk menggunakan pernyataan di atas jendela kode:
    using Office = Microsoft.Office.Core;
    using VBIDE = Microsoft.Vbe.Interop;
    using Excel = Microsoft.Office.Interop.Excel;
    					
  6. Dalam jendela kode, mengganti kode berikut
    private void button1_Click(object sender, System.EventArgs e)
    {
    }
    					
    dengan:
    private void button1_Click(object sender, System.EventArgs e)
    {
    	Excel.Application oExcel;
    	Excel.Workbook oBook;
    	VBIDE.VBComponent oModule;
    	Office.CommandBar oCommandBar;
    	Office.CommandBarButton oCommandBarButton;
    	String sCode;
    	Object oMissing = System.Reflection.Missing.Value;
    
    	// Create an instance of Excel.
    	oExcel = new Excel.Application();
    
    	// Add a workbook.
    	oBook = oExcel.Workbooks.Add(oMissing);
    
    	// Create a new VBA code module.
    	oModule = oBook.VBProject.VBComponents.Add(VBIDE.vbext_ComponentType.vbext_ct_StdModule);
    	
    	sCode = 
    		"sub VBAMacro()\r\n" +
    		"   msgbox \"VBA Macro called\"\r\n" +
    		"end sub";
    	// Add the VBA macro to the new code module.
    	oModule.CodeModule.AddFromString(sCode);
    
    	try 
    	{
    		// Create a new toolbar and show it to the user.
    		oCommandBar = oExcel.CommandBars.Add("VBAMacroCommandBar",oMissing, oMissing,\);
    		oCommandBar.Visible = true;
    		// Create a new button on the toolbar.
    		oCommandBarButton = (Office.CommandBarButton) oCommandBar.Controls.Add(
    			Office.MsoControlType.msoControlButton,
    			oMissing, oMissing, oMissing, oMissing);
    		// Assign a macro to the button.
    		oCommandBarButton.OnAction = "VBAMacro";
    		// Set the caption of the button.
    		oCommandBarButton.Caption = "Call VBAMacro";
    		// Set the icon on the button to a picture.
    		oCommandBarButton.FaceId = 2151;
    	} 
    	catch(Exception eCBError) {
    		MessageBox.Show("VBAMacroCommandBar already exists.","Error");
    	}
    
    	// Make Excel visible to the user.
    	oExcel.Visible = true;
    	// Set the UserControl property so Excel won't shut down.
    	oExcel.UserControl = true;
    
    	// Release the variables.
    	oCommandBarButton = null;
    	oCommandBar = null;
    	oModule = null;
    	oBook = null;
    	oExcel = null;		
    	// Collect garbage.
    	GC.Collect();
    }
    					
  7. Tekan F5 untuk membangun dan menjalankan program.
  8. Klik Button1 untuk memulai Microsoft Excel, masukkan Microsoft Visual Basic for Applications (VBA) kode, dan kemudian menambahkan baru CommandBar. Klik tombol pada CommandBar untuk menjalankan makro VBA.

Catatan tambahan untuk Office XP

Aplikasi Microsoft Office 2003 dan Microsoft Office XP memiliki opsi keamanan untuk memungkinkan program akses ke VBA object model. Jika pengaturan ini Dari (default), Anda menerima pesan galat yang menjalankan kode contoh.Untuk informasi tambahan tentang pengaturan ini dan bagaimana Anda dapat memperbaiki kesalahan, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
282830PRB: Program akses ke Office XP VBA proyek ditolak

REFERENSI

Untuk informasi tambahan, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
303871Membuat Excel makro pemrograman dari Visual Basic.NET
194611 Membuat dan memanggil Excel makro pemrograman dari BB

Properti

ID Artikel: 303872 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Excel 2002 Standard Edition
Kata kunci: 
kbpia kbhowto kbmt KB303872 KbMtid
Penerjemahan Mesin
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:303872

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com