Masuk dengan Microsoft
Masuk atau buat akun.
Halo,
Pilih akun lain.
Anda memiliki beberapa akun
Pilih akun yang ingin Anda gunakan untuk masuk.

Ringkasan

Pengembang dapat menggunakan otomatisasi di Microsoft Office untuk membuat solusi kustom yang menggunakan kapabilitas dan fitur yang disertakan dalam produk Office. Meskipun pengembangan programatik tersebut bisa diimplementasikan pada sistem klien dengan relatif mudah, sejumlah komplikasi bisa terjadi jika otomatisasi terjadi dari kode sisi server seperti Microsoft Active server Pages (ASP), ASP.NET, DCOM, atau layanan Windows NT. Artikel ini membahas komplikasi yang mungkin dihadapi pengembang. Artikel ini juga menawarkan alternatif untuk otomatisasi yang bisa mempercepat kinerja. Namun, pengembang harus menyadari bahwa saran yang disediakan artikel ini hanya untuk tujuan informasi. Microsoft tidak menyarankan atau mendukung otomatisasi sisi server Office.

Catatan

Dalam konteks ini, mesin database Access dapat didistribusikan ulang dan runtime Access dianggap komponen Microsoft Office. Istilah "sisi server" juga berlaku untuk kode yang berjalan di Windows workstation, jika kode dijalankan dari workstation Windows selain Stasiun interaktif pengguna yang masuk. Misalnya, kode yang dimulai oleh Penjadwal tugas di bawah akun sistem berjalan di lingkungan yang sama dengan kode ASP "sisi server" atau kode DCOM. Oleh karena itu, banyak masalah yang dijelaskan dalam artikel ini mungkin terjadi. Untuk informasi selengkapnya tentang workstation Windows dan tentang COM, lihat bagian "informasi selengkapnya" dan bagian "referensi".

Informasi Selengkapnya

Semua versi Microsoft Office saat ini dirancang, diuji, dan dikonfigurasikan untuk dijalankan sebagai produk pengguna akhir di workstation klien. Mereka mengasumsikan profil desktop dan pengguna interaktif. Mereka tidak menyediakan tingkat reentransi atau keamanan yang diperlukan untuk memenuhi kebutuhan komponen sisi server yang dirancang untuk dijalankan tanpa pengawasan. Microsoft saat ini tidak menyarankan, dan tidak mendukung, otomatisasi aplikasi Microsoft Office dari aplikasi klien atau komponen tanpa pengawasan apa pun (termasuk ASP, ASP.NET, DCOM, dan NT Services), karena Office mungkin memperlihatkan perilaku tidak stabil dan/atau kemacetan saat Office dijalankan di lingkungan ini. Jika Anda sedang membuat solusi yang berjalan dalam konteks sisi server, Anda harus mencoba menggunakan komponen yang telah dibuat aman untuk eksekusi tanpa pengawasan. Atau, Anda harus mencoba menemukan alternatif yang memperbolehkan setidaknya sebagian kode untuk menjalankan sisi klien. Jika Anda menggunakan aplikasi Office dari solusi sisi server, aplikasi akan kekurangan banyak kapabilitas yang diperlukan untuk berjalan dengan sukses. Selain itu, Anda akan mengambil risiko dengan stabilitas solusi keseluruhan Anda.

Masalah menggunakan otomatisasi Office sisi server

Pengembang yang mencoba menggunakan Office dalam solusi sisi server perlu mengetahui lima area utama tempat Office berperilaku berbeda dari yang diantisipasi karena lingkungan. Jika kode Anda berjalan dengan sukses, Anda harus mengatasi masalah ini dan meminimalkan efeknya sebanyak mungkin. Pertimbangkan masalah ini dengan hati-hati saat Anda membuat aplikasi Anda. Salah satu solusi tidak dapat mengatasi semua masalah. Desain yang berbeda mengharuskan Anda memprioritaskan elemen secara berbeda.

  • Identitas pengguna: aplikasi Office menganggap identitas pengguna ketika aplikasi dijalankan, bahkan ketika otomatisasi memulai aplikasi. Aplikasi mencoba untuk menginisialisasi Toolbar, Menu, opsi, printer, dan beberapa Add-in berdasarkan pengaturan dalam kumpulan registri pengguna untuk pengguna yang meluncurkan aplikasi. Banyak layanan yang berjalan di bawah akun yang tidak memiliki profil pengguna (seperti akun sistem atau akun IWAM_ [namaserver]). Oleh karena itu, Office mungkin tidak menginisiasi dengan benar pada startup. Dalam situasi ini, Office mengembalikan kesalahan pada fungsi CREATEOBJECT atau fungsi CoCreateInstance . Meskipun aplikasi Office dapat dimulai, fungsi lain mungkin tidak berfungsi dengan benar jika tidak ada profil pengguna yang ada.

  • Interaktivitas dengan desktop: aplikasi Office menganggap bahwa aplikasi tersebut sedang dijalankan di bawah desktop interaktif. Dalam beberapa situasi, aplikasi mungkin perlu dibuat terlihat untuk fungsi otomatisasi tertentu agar berfungsi dengan benar. Jika terjadi kesalahan yang tidak terduga, atau jika parameter tidak ditentukan diperlukan untuk menyelesaikan fungsi, Office dirancang untuk meminta pengguna dengan kotak dialog modal yang menanyakan pengguna yang ingin dilakukan pengguna. Kotak dialog modal pada desktop non-interaktif tidak dapat diabaikan. Oleh karena itu, utas tersebut berhenti merespons (macet) tanpa batas. Meskipun praktik pengkodean tertentu dapat membantu mengurangi kemungkinan masalah ini, praktik ini tidak bisa mencegah masalah sepenuhnya. Fakta ini saja membuat menjalankan aplikasi Office dari lingkungan sisi server yang berisiko dan tidak didukung.

  • Reentransi dan skalabilitas: komponen sisi server harus sangat reentrant, multi-threaded com component yang memiliki overhead minimum dan throughput tinggi untuk beberapa klien. Aplikasi Office hampir sama sekali berbeda. Aplikasi Office non-reentrant, STA berbasis server otomatisasi yang dirancang untuk menyediakan beragam tapi fungsionalitas intensif sumber daya untuk satu klien. Aplikasi ini menawarkan sedikit skalabilitas sebagai solusi sisi server. Selain itu, aplikasi tersebut memiliki batas tetap untuk elemen penting, seperti memori. Ini tidak bisa diubah melalui konfigurasi. Lebih penting lagi, aplikasi menggunakan sumber daya global seperti file yang dipetakan memori, add-in atau Templat global, dan server otomatisasi bersama. Hal ini dapat membatasi jumlah contoh yang dapat berjalan secara bersamaan dan dapat mengakibatkan kondisi balapan jika aplikasi dikonfigurasi dalam lingkungan multi klien. Pengembang yang berencana menjalankan lebih dari satu contoh aplikasi Office pada saat yang sama perlu mempertimbangkan "penggabungan" atau serialisasi akses ke aplikasi Office untuk menghindari potensi kemogokan atau kerusakan data.

  • Ketahanan dan stabilitas: Office 2000, Office XP, Office 2003, dan Office 2007 menggunakan teknologi Penginstal Microsoft Windows (MSI) untuk membuat instalasi dan perbaikan mandiri untuk pengguna akhir. MSI memperkenalkan konsep "Instal pada penggunaan pertama." Ini memungkinkan fitur untuk diinstal atau dikonfigurasi secara dinamis saat menjalankan sistem, atau lebih sering untuk pengguna tertentu. Di lingkungan sisi server, hal ini akan memperlambat kinerja dan meningkatkan kemungkinan bahwa kotak dialog mungkin muncul yang meminta pengguna untuk menyetujui instalasi atau untuk menyediakan disk instalasi. Meskipun ini dirancang untuk meningkatkan ketahanan Office sebagai produk pengguna akhir, implementasi kapabilitas MSI dari Office sangat kontraproduktif di lingkungan sisi server. Selain itu, stabilitas Office secara umum tidak dapat diyakinkan ketika Office menjalankan sisi server karena tidak dirancang atau diuji untuk tipe penggunaan ini. Menggunakan Office sebagai komponen layanan pada server jaringan mungkin mengurangi stabilitas komputer tersebut, dan karenanya mungkin mengurangi stabilitas seluruh jaringan Anda.

  • Keamanan sisi server: aplikasi Office tidak pernah dimaksudkan untuk penggunaan sisi server. Oleh karena itu, aplikasi Office tidak mempertimbangkan masalah keamanan yang didistribusikan wajah komponen. Office tidak mengotentikasi permintaan masuk. Office juga tidak memproteksi Anda dari tidak sengaja menjalankan makro, atau dari mulai server lain yang mungkin menjalankan makro, dari kode sisi server Anda. Jangan buka file yang diunggah ke server dari situs web anonim. Berdasarkan pengaturan keamanan yang terakhir ditetapkan, server dapat menjalankan makro di bawah konteks administrator atau sistem dengan hak penuh dan karena itu dapat membahayakan jaringan Anda. Selain itu, Office menggunakan banyak komponen sisi klien (seperti Simple MAPI, WinInet, dan MSDAIPP) yang bisa melakukan cache informasi autentikasi klien untuk mempercepat pemrosesan. Jika Office berada di sisi server otomatis, satu contoh mungkin melayani lebih dari satu klien. Jika informasi autentikasi telah disembunyikan untuk sesi tersebut, satu klien dapat menggunakan kredensial singgahan dari klien lain. Oleh karena itu, klien mungkin mendapatkan izin akses yang tidak diberikan dengan meniru pengguna lain.

Selain masalah teknis, Anda juga harus mempertimbangkan masalah lisensi. Panduan lisensi saat ini mencegah aplikasi Office digunakan di server untuk meminta permintaan klien, kecuali klien tersebut memiliki salinan Office yang berlisensi. Menggunakan otomatisasi sisi server untuk menyediakan fungsionalitas Office untuk workstation tanpa lisensi tidak tercakup dalam perjanjian lisensi pengguna akhir (EULA). Selain masalah ini, salah satu kesalahan umum berikut ini mungkin terjadi ketika Anda mencoba mengotomatisasi Office server-side:

  • Fungsi CREATEOBJECT dan fungsi CoCreateInstance mengembalikan salah satu pesan kesalahan run-time berikut dan tidak bisa dimulai untuk otomatisasi.

    Pesan 1

    Kesalahan run-time ' 429 ': komponen ActiveX tidak dapat membuat objek

    Pesan 2

    Kesalahan run-time ' 70 ': izin ditolak

    Pesan 3

    CO_E_SERVER_EXEC_FAILURE (0x80080005): eksekusi server gagal

    Pesan 4

    E_ACCESSDENIED (0x80070005): Akses ditolak

  • Saat Anda membuka dokumen Office, Anda menerima salah satu pesan kesalahan berikut ini.

    Pesan 1

    Kesalahan run-time ' 5981 ' (0x800A175D): tidak dapat membuka penyimpanan makro

    Pesan 2

    Kesalahan run-time ' 1004 ': method ' ~ ' dari object ' ~ ' failed

  • Fungsi CREATEOBJECT dan fungsi CoCreateInstance berhenti merespons dan tidak pernah selesai, atau memakan waktu lama untuk kembali. Pada beberapa server, pembuatan cepat, tapi kesalahan 1004 muncul di log kejadian Windows yang menunjukkan bahwa aplikasi dihentikan.

  • Fungsi tertentu gagal tiba-tiba atau berhenti merespons tanpa batas karena pemberitahuan pengguna atau kotak dialog lainnya yang memerlukan perhatian pengguna.

  • Menjalankan beberapa permintaan atau uji ketahanan menyebabkan kode gagal, berhenti merespons, atau crash pada pembuatan atau penghentian aplikasi Office. Saat ini terjadi, baik proses dibiarkan berjalan dalam memori dan tidak dapat dihentikan, atau semua contoh aplikasi yang sedang otomatis gagal dari titik tersebut.

Masalah lain atau pesan mungkin muncul selain yang tercantum di sini, namun masalah ini biasanya terjadi sebagai akibat dari lima masalah utama yang dicantumkan sebelumnya dalam artikel ini. 

Alternatif untuk otomatisasi sisi server

Microsoft sangat menyarankan agar pengembang menemukan alternatif untuk otomatisasi Office jika mereka perlu mengembangkan solusi sisi server. Karena keterbatasan desain Office, perubahan pada konfigurasi Office tidak cukup untuk mengatasi semua masalah. Microsoft sangat menyarankan sejumlah alternatif yang tidak mengharuskan Office untuk diinstal sisi server, dan yang bisa menjalankan tugas yang paling umum dengan lebih efisien dan lebih cepat daripada otomatisasi. Sebelum Anda melibatkan Office sebagai komponen sisi server dalam proyek Anda, pertimbangkan alternatif. Sebagian besar tugas otomatisasi sisi server melibatkan pembuatan atau pengeditan dokumen. Office 2007 mendukung format file open XML baru yang memungkinkan pengembang membuat, mengedit, membaca, dan mentransformasi konten file pada sisi server. Format file ini menggunakan namespace System.io.Package.io dalam kerangka Microsoft .net 3. x untuk mengedit file Office tanpa menggunakan aplikasi klien Office sendiri. Ini adalah metode yang direkomendasikan dan didukung untuk menangani perubahan pada file Office dari layanan. Format file open XML adalah standar publik. 

Microsoft menyediakan SDK untuk manipulasi format file open XML dari Framework .NET 3. x. Untuk informasi selengkapnya tentang SDK dan tentang cara menggunakan SDK untuk membuat atau mengedit file open XML, kunjungi situs web Microsoft Developer Network (MSDN) berikut:

Membuka dokumentasi SDK XML

Cara: memanipulasi dokumen format Office Open XML

Memanipulasi file 2007 Word dengan model objek Open XML (Bagian 1 dari 3)

Memanipulasi file 2007 Word dengan model objek Open XML (Bagian 2 dari 3)

Memanipulasi file 2007 Word dengan model objek Open XML (Bagian 3 dari 3)

Memanipulasi file Excel 2007 dan PowerPoint 2007 dengan model objek Open XML (Bagian 1 dari 2)

Memanipulasi file Excel 2007 dan PowerPoint 2007 dengan model objek Open XML (Bagian 2 dari 2)

Membuat solusi pembuatan dokumen sisi server menggunakan model objek Open XML (Bagian 1 dari 2)

Membuat solusi pembuatan dokumen sisi server menggunakan model objek Open XML (Bagian 2 dari 2)

Saat Anda melakukan streaming file open XML dari ASP atau dari ASP.NET, Anda harus menyediakan tipe ekstensi email Internet multifungsi (MIME) yang tepat untuk konten yang Anda streaming. Untuk daftar tipe MIME untuk file Office 2007, kunjungi situs web berikut ini:

Tipe MIME format file Office 2007 untuk streaming konten HTTP

Jika Anda menargetkan klien pra-Office 2007 saja, dan Anda tidak ingin memerlukan penggunaan Open XML dalam solusi, Anda bisa menggunakan format file non-biner Office lainnya, seperti HTML, XML, dan RTF. Anda dapat melakukan streaming file ini ke klien dengan menggunakan tipe MIME sehingga teks yang dihasilkan muncul di Office. Dokumen bisa diedit, disimpan, dan bahkan dikembalikan ke server menggunakan ASP di server. Untuk informasi selengkapnya tentang topik ini, dan untuk contoh yang memperlihatkan cara menerapkannya, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:

198703 Cara mengotomatisasi Excel dari VBScript sisi klien

278973 ExcelADO memperlihatkan cara menggunakan ADO untuk membaca dan menulis data dalam buku kerja Excel

286023 Cara menggunakan komponen VB ActiveX untuk otomatisasi Word dari Internet Explorer  

Jika bisnis Anda memerlukan pembuatan sisi server dari Office 97, Office 2000, Office XP, dan format file biner Office 2003, vendor pihak ketiga menawarkan komponen yang bisa membantu Anda. Microsoft tidak menyediakan komponen apa pun, sehingga Anda perlu membuat solusi sendiri atau membelinya dari vendor pihak ketiga. Banyak produk pihak ketiga yang berbeda tersedia. Anda harus menyelidiki setiap solusi yang paling cocok dengan vendor untuk kebutuhan bisnis Anda.

Jika Anda ingin membuat solusi sendiri yang mengedit Office 97, Office 2000, Office XP, dan format file Office 2003 Binary secara langsung, Anda bisa mendapatkan spesifikasi format file secara gratis di bawah persyaratan Microsoft Open Specification Promise (OSP). Tidak ada dukungan teknis tersedia untuk dokumentasi atau untuk produk yang Anda buat, tapi dokumentasi tersedia. 

Solusi sisi server juga mungkin ingin memperbolehkan pengguna mengunggah file, lalu minta server menyajikan file untuk ditampilkan di web atau di media lain. Microsoft saat ini sedang berupaya menawarkan fitur tersebut, dan menyediakan versi awal kapabilitas ini di layanan Microsoft Excel. Excel Services adalah teknologi server baru yang disertakan dalam Microsoft Office SharePoint Server 2007 dan yang memungkinkan Anda memuat, menghitung, dan menampilkan buku kerja Excel di Office SharePoint Server 2007. Untuk informasi selengkapnya tentang Excel Services, kunjungi situs web Microsoft Developer Network (MSDN) berikut:

Gambaran umum Excel Services

Panduan: mengembangkan aplikasi kustom menggunakan Excel Web Services

Membuat aplikasi bisnis dengan menggunakan Excel Services dan format Office Open XML Layanan otomatisasi Word adalah aplikasi layanan baru di SharePoint Server 2010. Layanan otomatisasi Word menyediakan tanpa pengawasan, konversi dokumen sisi server ke dalam format yang didukung oleh aplikasi klien Microsoft Word.

Gambaran umum Layanan otomatisasi Word

Memperkenalkan layanan otomatisasi Word Anda perlu mengevaluasi opsi mana yang mendeskripsikan artikel ini sesuai dengan kebutuhan Anda, dan cara terbaik untuk menggunakan solusi Anda. Informasi yang disediakan artikel ini tidak dijamin untuk mengatasi semua masalah untuk semua klien. Anda dianjurkan untuk menguji solusi Anda secara menyeluruh sebelum menggunakan solusi.

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.

Apakah informasi ini berguna?

Seberapa puaskah Anda dengan kualitas bahasanya?
Apa yang memengaruhi pengalaman Anda?
Dengan menekan kirim, umpan balik Anda akan digunakan untuk meningkatkan produk dan layanan Microsoft. Admin TI Anda akan dapat mengumpulkan data ini. Pernyataan Privasi.

Terima kasih atas umpan balik Anda!

×