BUG: Anda tidak dapat menghapus Excel daftar baris dari acara CommandButton klik

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

Pada Halaman ini

GEJALA

Anda telah membangun ekstensi kode dikelola untuk Office Excel 2003. Solusi Anda menggunakan Klik peristiwa MSForms CommandButton kontrol untuk menghapus baris dari Daftar objek yang terletak pada lembar kerja. Ketika Anda mengklik tombol untuk menghapus Daftar baris, baris tidak dihapus, dan Anda akan menerima galat run-time.

STATUS

Microsoft telah mengkonfirmasi bahwa ini adalah bug di Office Excel 2003.

PEMECAHAN MASALAH

Untuk mengatasi masalah ini, pastikan bahwa CommandButton tidak memiliki fokus ketika Anda menghapus daftar baris. Gunakan salah satu metode berikut:
  • Menetapkan TakeFocusOnClick properti CommandButton untuk palsu.

    -atau-
  • Pilih kembali pilihan lembar kerja untuk mengambil fokus dari CommandButton.

TEKNIK PEMECAHAN MASALAH

Untuk menyelesaikan masalah ini, gunakan salah satu dari metode berikut:
  • Menetapkan TakeFocusOnClick properti untuk CommandButton kontrol untuk palsu:
    protected void ThisWorkbook_Open()
    {
    	//Get a reference to the first worksheet.
    	ws = (Excel.Worksheet)(ThisWorkbook.Worksheets[1]);
    
    	//Set up the Click event handler for CommandButton1.
    	cb = (MSForms.CommandButton)(this.FindControl("CommandButton1"));
    	cb.Click+= new MSForms.CommandButtonEvents_ClickEventHandler(cbClick);
    
    	cb.TakeFocusOnClick = false;
    }
    


    -atau-
  • Panggilan Pilih metode untuk lembar kerja saat ini Seleksi untuk menghapus fokus dari CommandButton:
    private void cbClick()
    { 
    	ThisApplication.Selection.GetType().InvokeMember("Select",
    		System.Reflection.BindingFlags.Public | 
    		System.Reflection.BindingFlags.InvokeMethod | 
    		System.Reflection.BindingFlags.Instance,
    		null,
    		ThisApplication.Selection,
    		null);
    	
    	ws.ListObjects[1].ListRows[1].Delete();
    }
    

INFORMASI LEBIH LANJUT

Langkah-Langkah untuk Mereproduksi Perilaku

  1. Mulai Microsoft Visual Studio.NET 2003.
  2. Pada Berkas menu, titik Baru, lalu klik Project.
  3. Dalam daftar jenis proyek, memperluas Proyek-proyek sistem Microsoft Office, lalu klik Visual C# proyek. Pilih Excel Workbook dalam daftar template, dan kemudian klik Oke.
  4. Klik Menyelesaikan dalam Microsoft Office Project Wizard.
  5. Tekan tombol F5 untuk menjalankan projek dan untuk membuka buku kerja di Excel.
  6. Memodifikasi buku kerja sebagai berikut:
    1. Pilih sel A1.
    2. Pada Data menu, titik Daftar, lalu klik Membuat daftar. The Membuat daftar dialog muncul. Klik Oke.
    3. Menambahkan teks ke sel A2, A3 dan A4 (A2:A4).
    4. Pada Lihat menu, titik Toolbar, lalu klik Toolbox Kontrol.
    5. Menarik CommandButton kontrol pada lembar kerja. Nama default-nya adalah CommandButton1.
    6. Simpan buku kerja, dan kemudian keluar dari Excel.
  7. Tambahkan kode berikut untuk Thisworkbook.cs kode modul:
    private MSForms.CommandButton cb;
    private Excel.Worksheet ws;
    
    protected void ThisWorkbook_Open()
    {
    	//Get a reference to the first worksheet.
    	ws = (Excel.Worksheet)(ThisWorkbook.Worksheets[1]);
    
    	//Set up the Click event handler for CommandButton1.
    	cb = (MSForms.CommandButton)(this.FindControl("CommandButton1"));
    	cb.Click+= new MSForms.CommandButtonEvents_ClickEventHandler(cbClick);
    }
    
    private void cbClick()
    {
    	try
    	{
    		//Delete the first row in the list object.
    		ws.ListObjects[1].ListRows[1].Delete();
    	}
    	catch (Exception ex)
    	{
    		System.Diagnostics.Debug.WriteLine(ex.Message);
    		MessageBox.Show(ex.Message);
    	}
    }
    
  8. Tekan tombol F5 untuk membangun dan menjalankan proyek.
  9. Klik CommandButton1.

    Hasil Pengecualian tertangkap saat menghapus baris di daftar. Anda menerima pesan galat berikut
    Pengecualian dari HRESULT: 0x800A03EC

Properti

ID Artikel: 823988 - Kajian Terakhir: 07 Oktober 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual Studio Tools for the Microsoft Office System version 2003
Kata kunci: 
kbbug kbautomation kbnofix kbmt KB823988 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:823988

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