Select the product you need help with
XL: Keterbatasan melewati array ke Excel menggunakan otomatisasiID Artikel: 177991 - Melihat produk di mana artikel ini berlaku. Pada Halaman iniRINGKASAN Artikel ini membahas keterbatasan dalam melewati array untuk
Lembar kerja Microsoft Excel dan makro menggunakan otomatisasi. Jika keterbatasan ini
yang melebihi, Anda akan menerima galat run-time di kode otomatisasi. INFORMASI LEBIH LANJUTMicrosoft menyediakan pemrogaman hanya untuk ilustrasi, tanpa garansi baik tersurat maupun tersirat, termasuk, namun tidak terbatas pada, jaminan tersirat mengenai keadaan yang dapat diperjualbelikan dan/atau kesesuaian untuk tujuan tertentu. Artikel ini mengasumsikan bahwa Anda sudah familiar dengan bahasa pemrograman yang ditunjukkan dan alat-alat yang digunakan untuk membuat dan memperbaiki prosedur. Profesional dukungan Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu, tetapi mereka tidak akan mengubah contoh tersebut untuk menyediakan fungsionalitas tambahan atau membuat prosedur untuk memenuhi kebutuhan spesifik Anda. Jika Anda memiliki terbatas pengalaman pemrograman, Anda mungkin ingin menghubungi Microsoft Certified Partner atau Microsoft Advisory Services. Untuk informasi lebih lanjut, kunjungi situs Web Microsoft ini: Microsoft Certified Partner- https://Partner.Microsoft.com/global/30000104
(https://partner.microsoft.com/global/30000104)
Microsoft Advisory Services- http://support.Microsoft.com/GP/advisoryservice
(http://support.microsoft.com/gp/advisoryservice)
Untuk informasi lebih lanjut tentang opsi dukungan yang tersedia dan tentang cara menghubungi Microsoft, kunjungi Website Microsoft berikut:http://support.Microsoft.com/default.aspx?scid=Fh;EN-US;CNTACTMS
(http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS)
Ketika melewati array untuk menggunakan Microsoft Excel
Otomatisasi, keterbatasan berikut berlaku, tergantung pada versi Excel
dan apakah Anda lewat array untuk berbagai lembar kerja atau sebagai argumen untuk
makro. Lihat Catatan kaki sesuai yang mengikuti meja untuk rincian. Version of Passing Array to Passing Array to Microsoft Excel Worksheet Range Macro (Procedure) ---------------------------------------------------------- 5.0 A B,C 7.0 (Excel 95) D E,C,H 8.0 (Excel 97) F G,H 9.0 (Excel 2000) F G,H Catatan kakiA:Maksimum jumlah elemen dalam array sekitar 6550. Jika Anda melampaui batas ini, Anda menerima salah satu atau kedua pesan galat berikut: Memori 1005: Tidak dapat mengatur properti nilai dari berbagai kelas Galat run-time '1004': Transpos metode kelas aplikasi gagal Jumlah maksimum elemen dalam array adalah 4095. Jika Anda melampaui batas ini, Anda akan menerima pesan galat berikut: Galat run-time '1004': Menjalankan metode kelas aplikasi gagal C: Ketika menentukan array parameter di Excel makro, itu harus didefinisikan sebagai varian variabel atau Anda akan menerima pesan galat berikut Ketika Anda mencoba untuk menjalankan makro yang menggunakan otomatisasi: Galat run-time '1004': Tidak dapat menemukan makro<macro name=""><b00></b00></macro> Maksimum jumlah elemen dalam array adalah 5461. Jika Anda melampaui batas ini, Anda menerima salah satu pesan galat berikut: Galat run-time '1004': Transpos metode Kelas aplikasi gagal - atau - Galat run-time '1005': Tidak dapat mengatur Nilai properti dari berbagai kelas Maksimum jumlah elemen dalam array adalah 5461. Jika Anda melampaui batas ini, Anda menerima pesan galat berikut: Galat run-time '1004': Menjalankan metode kelas aplikasi gagal Maksimum jumlah elemen dalam array dibatasi oleh memori yang tersedia atau Excel lembar kerja maksimum ukuran (65536 baris kolom X 256). Namun, jumlah maksimum elemen dalam array yang dapat Anda berikan ke Excel menggunakan Excel transpos fungsi adalah 5461. Jika Anda melampaui batas ini, Anda menerima galat berikut pesan: Galat run-time '13': Jenis ketidakcocokan Maksimum jumlah elemen dalam array terbatas hanya dengan memori yang tersedia. Juga, Anda tidak harus menentukan parameter sebagai Varian variabel dalam Excel makro. Namun, jika Anda ingin untuk melewati array ByVal, Anda harus menentukan parameter sebagai variabel varian seperti dalam contoh di Catatan kaki c sebelumnya dalam artikel ini. Anda akan mendapatkan kesalahan 13, "Type Mismatch"kesalahan, jika Anda tidak menetapkan variabel sebagai varian. H: Ketika melewati sebuah argumen ByRef untuk keluar-Otomasi server, seperti Excel, menyusun data dilakukan antara otomatisasi Controller (atau klien) dan server karena mereka berjalan dalam proses terpisah. Ini berarti bahwa ketika sebuah array dilewatkan ke Excel menggunakan ByRef, salinan array dikirim ke ruang alamat Excel. Setelah berjalan prosedur Excel, salinan array dikirimkan kembali ke klien. Meskipun ini memungkinkan untuk lewat argumen menggunakan ByRef keluar dari proses server, hal ini tidak sangat efisien. Pada sisi lain, ketika menggunakan server dalam proses otomatisasi (dynamic-link perpustakaan (DLL)) dan Anda lewat argumen ByRef, hal ini sangat efisien karena tidak menyusun dilakukan. Server menggunakan array yang sama di memori sebagai klien. Hal ini mungkin karena server berjalan dalam ruang alamat yang sama sebagai klien. Karena dari menyusun dengan server keluar dari proses seperti Excel, lebih efisien untuk melewati array ByVal bukannya ByRef. Dengan cara ini, hanya satu salinan dilewatkan ke Excel dan Excel tidak harus lulus salinan kembali untuk klien. Untuk melewati array ByVal untuk Excel makro, Anda harus menentukan parameter dalam Excel makro sebagai variabel varian. Lihat Catatan kaki c sebelumnya dalam Artikel ini sebagai contoh. Prosedur Visual Basic sampelBerikut contoh Microsoft Visual Basic untuk aplikasi Sub prosedur menunjukkan bagaimana untuk melewati array ke Excel. Prosedur dua menunjukkan bagaimana untuk mengisi kisaran sel pada lembar kerja oleh lewat sebuah array untuk lembar kerja jangkauan. Prosedur ketiga menunjukkan bagaimana untuk melewati array untuk Excel makro.Pernyataan berikut yang digunakan dengan setiap contoh: Option Explicit Melewati 1-dimensi Array untuk berbagai lembar kerja: Private xlApp sebagai objek Private xlBook sebagai objek Private xlSheet sebagai objek REFERENSI Untuk informasi lebih lanjut tentang array dan Excel, silakan lihat
artikel berikut pada Basis Pengetahuan Microsoft: 166342 Untuk informasi lebih lanjut tentang mendapatkan bantuan dengan Visual Basic untuk
Aplikasi, silakan lihat artikel berikut pada Basis Pengetahuan Microsoft:
(http://support.microsoft.com/kb/166342/EN-US/
)
Xl97 Revisi teknis: Maksimum ukuran Array di Microsoft Excel 97153307
(http://support.microsoft.com/kb/153307/EN-US/
)
HOWTO: Panggilan Microsoft Excel makro yang mengambil parameter153090
(http://support.microsoft.com/kb/153090/EN-US/
)
Bagaimana untuk melewati Array Visual Basic ke Worksheet Excel163435
(http://support.microsoft.com/kb/163435/EN-US/
)
VBA: Pemrograman sumber daya untuk Visual Basic untuk aplikasiNote 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: 177991 - Kajian Terakhir: 16 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:177991
(http://support.microsoft.com/kb/177991/en-us/
)
| Terjemahan Artikel
|




Kembali ke atas








