Select the product you need help with
Kesalahan yang menjebak dengan Visual Basic untuk aplikasiID Artikel: 146864 - Melihat produk di mana artikel ini berlaku. Pada Halaman iniRINGKASAN Ketika galat run-time terjadi di Microsoft Visual Basic
untuk aplikasi makro, pesan kesalahan muncul di layar, dan makro
perhentian atau berperilaku tak terduga. Untuk mencegah aplikasi dari menabrak atau berperilaku tak terduga, Anda dapat mencantumkan kode makro yang penyadapan kesalahan dan memberitahu makro bagaimana untuk mengatasinya. Proses intercepting dan penanganan kesalahan adalah disebut "kesalahan perangkap." Set petunjuk yang memberitahu aplikasi bagaimana menangani kesalahan disebut "penanganan kesalahan rutinitas" atau "kesalahan handler." INFORMASI LEBIH LANJUTMicrosoft menyediakan contoh pemrograman hanya sebagai ilustrasi, tanpa jaminan apa pun baik tersurat maupun tersirat. Termasuk, namun tidak terbatas pada, jaminan tersirat mengenai kelayakan untuk diperdagangkan atau kesesuaian untuk keperluan tertentu. Artikel ini mengasumsikan bahwa Anda telah terbiasa dengan bahasa pemrograman yang ditunjukkan dan dengan alat yang digunakan untuk membuat dan mendebug prosedur. Teknisi dukungan Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu, namun mereka tidak akan memodifikasi contoh untuk memberikan fungsionalitas tambahan atau menyusun prosedur untuk memenuhi persyaratan khusus Anda. Sementara kode Visual Basic berjalan, Anda mungkin
Temui beberapa jenis kesalahan yang mungkin. Anda dapat mengambil keuntungan
dari kesalahan perangkap di Microsoft Excel dengan menggunakan fungsi-fungsi berikut dan
pernyataan. Pada pernyataan kesalahanPernyataan pada kesalahan menyebabkan Visual Basic untuk aplikasi untuk mulai atau berhenti kesalahan perangkap. Pernyataan pada kesalahan juga menentukan satu set pernyataan untuk melaksanakan jika terjadi kesalahan.Untuk tambahan informasi, silakan lihat artikel berikut pada Basis Pengetahuan Microsoft: 141571
(http://support.microsoft.com/kb/141571/EN-US/
)
Cara menggunakan "Pada kesalahan" untuk menangani kesalahan dalam makroErr fungsiErr fungsi mengembalikan jumlah kesalahan yang ditemui.Contoh menggunakan fungsi Err:
Error code Error message
---------- -------------
3 Return without GoSub
5 Invalid procedure call
6 Overflow
7 Out of memory
9 Subscript out of range
10 Duplicate definition (versions 5.0 and 7.0)
10 This array is fixed or temporarily locked (version97)
11 Division by zero
13 Type mismatch
14 Out of string space
16 String formula too complex (versions 5.0 and 7.0)
16 Expression too complex (version 97)
17 Can't perform requested operation
18 User interrupt occurred
20 Resume without error
28 Out of stack space
35 Sub or function not defined (versions 5.0 and 7.0)
35 Sub, function, or property not defined (version 97)
47 Too many DLL application clients (version 97)
48 Error in loading DLL
49 Bad DLL calling convention
51 Internal error
52 Bad file name or number
53 File not found
54 Bad file mode
55 File already open
57 Device I/O error
58 File already exists
59 Bad record length
61 Disk full
62 Input past end of line
63 Bad record number
67 Too many files
68 Device unavailable
70 Permission denied
71 Disk not ready
74 Can't rename with different drive
75 Path/File access error
76 Path not found
91 Object variable not set (versions 5.0 and 7.0)
91 Object variable or With block variable not set
(version 97)
92 For Loop not initialized
93 Invalid pattern string
94 Invalid use of Null
95 User-defined error (versions 5.0 and 7.0 only)
298 System DLL could not be loaded (version 97)
320 Can't use character device names in specified file names
(version 97)
321 Invalid file format (version 97)
322 Can't create necessary temporary file (version 97)
323 Can't load module; invalid format (versions 5.0 and 7.0)
325 Invalid format in resource file (version 97)
327 Data value named was not found (version 97)
328 Illegal parameter; can't write arrays (version 97)
335 Could not access system registry (version 97)
336 ActiveX component not correctly registered (version 97)
337 ActiveX component not found (version 97)
338 ActiveX component did not correctly run (version 97)
360 Object already loaded (version 97)
361 Can't load or unload this object (version 97)
363 Specified ActiveX control not found (version 97)
364 Object was unloaded (version 97)
365 Unable to unload within this context (version 97)
368 The specified file is out of date. This program requires
a newer version (version 97)
371 The specified object can't be used as an owner form for
Show (version 97)
380 Invalid property value (version 97)
381 Invalid property-array index (version 97)
382 Property Set can't be executed at run time (version 97)
383 Property Set can't be used with a read-only property
(version 97)
385 Need property-array index (version 97)
387 Property Set not permitted (version 97)
393 Property Get can't be executed at run time (version 97)
394 Property Get can't be executed on write-only property
(version 97)
400 Form already displayed; can't show modally (version 97)
402 Code must close topmost modal form first (version 97)
419 Permission to use object denied (version 97)
422 Property not found (version 97)
423 Property or method not found
424 Object required
425 Invalid object use (version 97)
429 ActiveX component can't create object or return
reference to this object (version 97)
430 Class doesn't support OLE Automation
430 Class doesn't support Automation (version 97)
432 File name or class name not found during Automation
operation (version 97)
438 Object doesn't support this property or method
440 OLE Automation error
440 Automation error (version 97)
442 Connection to type library or object library for remote
process has been lost (version 97)
443 Automation object doesn't have a default value
(version 97)
445 Object doesn't support this action
446 Object doesn't support named arguments
447 Object doesn't support current locale settings
448 Named argument not found
449 Argument not optional
449 Argument not optional or invalid property assignment
(version 97)
450 Wrong number of arguments
450 Wrong number of arguments or invalid property assignment
(version 97)
451 Object not a collection
452 Invalid ordinal
453 Specified DLL function not found
454 Code resource not found
455 Code resource lock error
457 This key is already associated with an element of this
collection (version 97)
458 Variable uses a type not supported in Visual Basic
(version 97)
459 This component doesn't support events (version 97)
460 Invalid clipboard format (version 97)
461 Specified format doesn't match format of data
(version 97)
480 Can't create AutoRedraw image (version 97)
481 Invalid picture (version 97)
482 Printer error (version 97)
483 Printer driver does not support specified property
(version 97)
484 Problem getting printer information from the system.
Make sure the printer is set up correctly (version 97)
485 Invalid picture type (version 97)
486 Can't print form image to this type of printer
(version 97)
735 Can't save file to Temp directory (version 97)
744 Search text not found (version 97)
746 Replacements too long (version 97)
1000 Classname does not have propertyname property
(versions 5.0 and 7.0)
1001 Classname does not have methodname method
(versions 5.0 and 7.0)
1002 Missing required argument argumentname
(versions 5.0 and 7.0)
1003 Invalid number of arguments (versions 5.0 and 7.0)
1004 Methodname method of classname class failed
(versions 5.0 and 7.0)
1005 Unable to set the propertyname property of the classname
class (versions 5.0 and 7.0)
1006 Unable to get the propertyname property of the classname
class (versions 5.0 and 7.0)
31001 Out of memory (version 97)
31004 No object (version 97)
31018 Class is not set (version 97)
31027 Unable to activate object (version 97)
31032 Unable to create embedded object (version 97)
31036 Error saving to file (version 97)
31037 Error loading from file (version 97)
142138
(http://support.microsoft.com/kb/142138/EN-US/
)
DARI: Penjelasan dari Trappable kesalahan dalam Visual Basic untuk aplikasiKesalahan fungsiKesalahan fungsi mengembalikan pesan galat yang berkaitan dengan sejumlah kesalahan tertentu.Contoh menggunakan fungsi kesalahan: Kesalahan pernyataanPernyataan kesalahan mensimulasikan terjadinya kesalahan oleh memungkinkan Anda untuk menetapkan beberapa kesalahan kustom untuk fungsi Err. Pengguna ini- nilai-nilai didefinisikan kesalahan adalah nilai-nilai yang Anda tetapkan untuk prosedur Anda dan bahwa selalu disimpan dalam variabel tipe data varian. Penggunaan umum ini jenis kesalahan nilai adalah prosedur yang menerima beberapa argumen dan kembali nilai. Misalnya, nilai kembali ini berlaku hanya jika argumen jatuh dalam jarak tertentu. Prosedur Anda dapat menguji argumen yang menyediakan pengguna, dan jika argumen tidak dalam kisaran yang dapat diterima, Anda dapat memiliki prosedur yang mengembalikan nilai sesuai kesalahan.Kesalahan subtipe tipe data varian dan ketika istilah "kesalahan nilai" digunakan, itu biasanya berarti bahwa variabel adalah jenis varian, dan bahwa hal itu berisi nilai yang Visual Basic for Applications mengakui sebagai kesalahan yang ditetapkan pengguna. Nilai-nilai kesalahan yang digunakan dalam sebuah prosedur untuk menunjukkan bahwa kondisi kesalahan telah terjadi. Tidak seperti biasa run-time kesalahan, kesalahan ini tidak mengganggu Anda kode karena mereka diakui sebagai variabel biasa dan tidak kesalahan. Anda prosedur dapat menguji untuk nilai-nilai kesalahan ini dan mengambil sesuai perbaikan tindakan. Anda juga dapat menggunakan pernyataan kesalahan untuk mensimulasikan run-time kesalahan. Hal ini sangat berguna ketika Anda menguji aplikasi Anda, atau Bila Anda ingin memperlakukan kondisi tertentu sebagai setara dengan menjalankan- kesalahan. Setiap Visual Basic for Applications galat run-time dapat disimulasikan dengan menyediakan kode kesalahan untuk kesalahan dalam pernyataan kesalahan. Anda juga dapat menggunakan pernyataan kesalahan untuk membuat Anda sendiri kesalahan yang ditetapkan pengguna dengan menyediakan kode kesalahan yang tidak sesuai dengan Visual Basic untuk aplikasi run-time kesalahan. Tabel yang berisi daftar built-in kesalahan muncul di awal ini Artikel (di bawah bagian "Err fungsi"). Saat ini, Visual Basic untuk Aplikasi tidak menggunakan semua nomor yang tersedia untuk built-in kesalahan. Dalam masa depan rilis dari Visual Basic for Applications, nomor internal akan meningkatkan sebagai lebih dibangun - pada kesalahan ditambahkan. Disarankan bahwa Anda mulai Anda nomor kesalahan 50.000 dan kerja jalan ke 65.535 untuk menghindari kemungkinan konflik di masa depan. Contoh menggunakan pernyataan kesalahan untuk mensimulasikan Run-time kesalahan: CVErr fungsiFungsi CVErr digunakan untuk menciptakan nilai-nilai kesalahan. CVErr fungsi mengambil argumen yang harus baik menjadi integer atau variabel yang berisi integer.Menggunakan Built-In nilai-nilai kesalahanAda tujuh nilai-nilai built-in kesalahan dalam Microsoft Excel. The Tabel di bawah menunjukkan nomor kesalahan (konstan), nilai literal kesalahan, dan kesalahan dikonversi nilai.Error number (Constant) Literal error value Converted error value ----------------------------------------------------------------------- xlErrDiv0 [#DIV/0!] CVErr(xlErrDiv0) xlErrNA [#N/A] CVErr(xlErrNA) xlErrName [#NAME?] CVErr(xlErrName) xlErrNull [#NULL!] CVErr(xlErrNull) xlErrNum [#NUM!] CVErr(xlErrNum) xlErrRef [#REF!] CVErr(xlErrRef) xlErrValue [#VALUE!] CVErr(xlErrValue) Contoh menggunakan Built-In Error Nilai-nilai: Pemusatan penanganan kode kesalahanKetika Anda menambahkan kode penanganan kesalahan untuk Anda Visual Basic untuk Aplikasi macro, Anda akan menemukan bahwa kesalahan yang sama sedang ditangani lagi dan lagi. Anda dapat mengurangi ukuran kode Anda dan usaha diperlukan untuk menulis kode dengan menulis beberapa prosedur yang penanganan kesalahan Anda kode dapat menelepon untuk menangani situasi kesalahan umum.Berikut contoh dari sebuah fungsi prosedur yang menampilkan pesan yang sesuai dengan kesalahan yang telah terjadi, dan di mana mungkin, memungkinkan pengguna untuk menentukan apa untuk mengambil tindakan berikutnya dengan memilih tombol tertentu. Kemudian kembali nomor kode untuk prosedur yang disebut itu. Penanganan pengguna menyelaPengguna dapat mengganggu Visual Basic untuk aplikasi prosedur oleh menekan CTRL + BREAK atau ESC (perintah + periode pada Macintosh). Mungkin untuk menonaktifkan menyela prosedur dalam aplikasi Anda selesai. Namun, jika Anda tidak menonaktifkan menyela pengguna dalam prosedur selesai, Anda dapat membuat yakin bahwa prosedur Anda diberitahu ketika menyela telah terjadi begitu itu dapat menutup file, lepaskan dari sumber daya bersama, atau mengembalikan diubah variabel sebelum kembali kontrol aplikasi untuk pengguna.Anda bisa menjebak pengguna menyela prosedur Anda dengan menetapkan EnableCancelKey properti untuk xlErrorHandler. Bila properti ini diatur, menyela semua akan menghasilkan run-time kesalahan nomor 18, yang dapat terjebak dengan menggunakan pada kesalahan pernyataan. Anda dapat menangani kesalahan untuk menghentikan prosedur dan keluar dari program. Jika pernyataan Resume digunakan untuk melanjutkan prosedur setelah terjebak galat run-time, menyela diabaikan. Hal ini juga mungkin untuk mengabaikan pengguna menyela sepenuhnya dengan menetapkan properti EnableCancelKey xlDisabled. Dalam keadaan ini, Microsoft Excel mengabaikan semua upaya oleh pengguna untuk mengganggu prosedur berjalan. Untuk memulihkan pengolahan menyela default, mengubah pengaturan properti EnableCancelKey untuk xlInterrupt. Untuk mencegah prosedur dari secara permanen menonaktifkan pengguna menyela, Microsoft Excel selalu memulihkan pengaturan default properti EnableCancelKey untuk xlInterrupt setiap kali prosedur melengkapi pelaksanaannya. Untuk memastikan bahwa menyela ditangani dengan benar dalam kode Anda, Anda harus secara eksplisit menonaktifkan atau perangkap menyela setiap kali prosedur dijalankan. Perlu dicatat bahwa hanya satu menyela handler dapat digunakan untuk setiap prosedur, dan bahwa penangan sama digunakan untuk semua kesalahan runtime yang dihadapi oleh prosedur. The contoh berikut menunjukkan prosedur yang memerlukan periode besar waktu untuk menyelesaikan. Jika pengguna menyela prosedur, kesalahan terjebak. Pengguna menyela pertama menegaskan bahwa prosedur harus benar-benar dihentikan dan kemudian keluar prosedur secara teratur. Resume pernyataanPernyataan Resume resume pelaksanaan kode setelah kesalahan penanganan rutin telah selesai.REFERENSIExcel 97Untuk informasi lebih lanjut tentang menjebak makro kesalahan, klik indeks tab di Microsoft Excel 97 Visual Basic bantuan, ketik teks berikutkesalahan perangkap kemudian klik dua kali teks yang dipilih untuk pergi ke "Trappable
Kesalahan"topik. Excel 7.0Untuk informasi lebih lanjut tentang menjebak makro kesalahan, klik indeks tab di Microsoft Excel 7.0 bantuan, ketik teks berikutkesalahan perangkap kemudian klik dua kali teks yang dipilih untuk pergi ke "kesalahan
perangkap"topik. Excel 5.0Dalam "Visual Basic User's Guide," versi 5.0, Bab 9, "penanganan Kesalahan dan kesalahan nilai,"lihat topik berikut:
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use
(http://go.microsoft.com/fwlink/?LinkId=151500)
for other considerations.PropertiID Artikel: 146864 - Kajian Terakhir: 15 September 2011 - Revisi: 2.0 Berlaku bagi:
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:146864
(http://support.microsoft.com/kb/146864/en-us/
)
| Terjemahan Artikel
|




Kembali ke atas








