Cara melampirkan untuk contoh menjalankan aplikasi Office

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

RINGKASAN

Untuk mengotomatisasi Office aplikasi yang sudah berjalan, Anda dapat menggunakan GetActiveObject() Fungsi API untuk mendapatkan IDispatch pointer untuk menjalankan contoh. Setelah Anda memiliki pointer IDispatch ini untuk contoh berjalan, Anda dapat menggunakan metode dan properti dari contoh berjalan.

INFORMASI LEBIH LANJUT

Server Otomatisasi mendaftarkan diri dalam menjalankan Objek meja (MEMBUSUK) melalui RegisterActiveObject() API. Otomatisasi klien dapat melampirkan untuk contoh berjalan dengan kode seperti berikut:
      ::CoInitialize(NULL);

      // Translate server ProgID into a CLSID. ClsidFromProgID
      // gets this information from the registry.
      CLSID clsid;
      CLSIDFromProgID(L"Excel.Application", &clsid);  

      // Get an interface to the running instance, if any..
      IUnknown *pUnk;
      HRESULT hr = GetActiveObject(clsid, NULL, (IUnknown**)&pUnk);
      ASSERT(!FAILED(hr));

      // Get IDispatch interface for Automation...
      IDispatch *pDisp;
      hr = pUnk->QueryInterface(IID_IDispatch, (void **)&pDisp);
      ASSERT(!FAILED(hr));

      // Release the no-longer-needed IUnknown...
      pUnk->Release();

     // ----------------------------------------------------
     // Your automation code here-
     // ----------------------------------------------------

     ::CoUnintialize();
				
CATATAN: Jika ada beberapa contoh dari server Otomatisasi berjalan pada saat yang sama, GetActiveObject() API fungsi mengembalikan IDispatch pointer untuk contoh yang pertama berjalan.

Secara teoritis, Anda bisa iterate MEMBUSUK untuk masing-masing contoh individu, tapi aplikasi Office tidak mendaftarkan diri jika contoh lain adalah sudah dalam MEMBUSUK karena moniker sendiri selalu yang sama, dan tidak dapat dibedakan. Ini berarti bahwa Anda tidak dapat melampirkan untuk setiap contoh kecuali untuk yang pertama. Namun, karena aplikasi Office juga mendaftar dokumen mereka dalam MEMBUSUK, Anda dapat berhasil memasang lain contoh oleh iterasi MEMBUSUK mencari dokumen tertentu, melampirkan untuk dokumen ini, dan kemudian mendapatkan objek aplikasi dari dokumen ini. Untuk contoh kode iterasi MEMBUSUK dan mencari nama dokumen, klik nomor artikel di bawah ini untuk melihat artikel dalam Pengetahuan Microsoft Base:
190985 Bagaimana untuk mendapatkan IDispatch Excel atau Word dokumen dari OCX
Perhatikan bahwa solusi ini tidak diperlukan untuk satu-misalnya aplikasi karena aplikasi tersebut dapat memiliki hanya satu contoh berjalan pada waktu tertentu. PowerPoint adalah contoh dari aplikasi tunggal-contoh.

Properti

ID Artikel: 238975 - Kajian Terakhir: 20 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Office XP Developer Edition
  • Microsoft Office 2000 Developer Edition
  • Microsoft Outlook 98 Standard Edition
  • Microsoft Office 97 Standard Edition
  • Microsoft Office 95 Standard Edition
  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition
Kata kunci: 
kbhowto kbmt KB238975 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:238975

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