Π’ экосистСмС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 сущСствуСт ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ взаимодСйствия с внСшними прилоТСниями Windows, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся COM (Component Object Model). Π­Ρ‚ΠΎΡ‚ тСхнологичСский стандарт ΠΎΡ‚ Microsoft позволяСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°, ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ процСссами Π½Π° Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° 1Π‘ это ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΄Π²Π΅Ρ€ΠΈ Π² ΠΌΠΈΡ€ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… офисных Π·Π°Π΄Π°Ρ‡ Π±Π΅Π· написания слоТных Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ².

ИспользованиС COM-соСдинСния Π² конфигурациях 1Π‘ Ρ‡Π°Ρ‰Π΅ всСго ассоциируСтся с Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Microsoft Word ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ слоТных Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π² Excel. Однако возмоТности Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡˆΠΈΡ€Π΅: ΠΎΡ‚ управлСния ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ Outlook Π΄ΠΎ прямого рСдактирования систСмного рССстра Windows. ПониманиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ этой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ критичСски Π²Π°ΠΆΠ½ΠΎ для создания Π³ΠΈΠ±ΠΊΠΈΡ… ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.

НСсмотря Π½Π° свою ΠΌΠΎΡ‰ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π° с COM Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ остороТности ΠΈ понимания Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Windows. Ошибки Π² ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ зависанию процСссов ΠΈΠ»ΠΈ ΡƒΡ‚Π΅Ρ‡ΠΊΠ°ΠΌ памяти, Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ синтаксис, Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ сцСнарии использования ΠΈ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.

АрхитСктура ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ COM Π² 1Π‘

ВСхнология COM базируСтся Π½Π° строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π’ срСдС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ происходит Ρ‡Π΅Ρ€Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… COMΠ‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. Когда Π²Ρ‹ создаСтС экзСмпляр внСшнСго прилоТСния, 1Π‘ выступаСт Π² Ρ€ΠΎΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π° цСлСвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Word) β€” Π² Ρ€ΠΎΠ»ΠΈ сСрвСра Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π½Π½ΠΈΠΌ ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΈΠΌ связываниСм. ΠŸΡ€ΠΈ Ρ€Π°Π½Π½Π΅ΠΌ связывании ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π½Π°Π΅Ρ‚ структуру ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ подсвСтку синтаксиса Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΊΠΎΠ΄Π°. ПозднСС связываниС, Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ², Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ всС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎ врСмя выполнСния, Ρ‡Ρ‚ΠΎ Π³ΠΈΠ±Ρ‡Π΅, Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΈ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ΠΎ ошибкам правописания.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: COM-тСхнология Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² толстом ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈΠ»ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия Π½Π° сторонС сСрвСра (Ссли сСрвСр ΠΈΠΌΠ΅Π΅Ρ‚ графичСский интСрфСйс ΠΈ ΠΏΡ€Π°Π²Π° Π½Π° запуск GUI-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ). Π’ Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈΠ»ΠΈ Π²Π΅Π±-клистСрС прямоС созданиС COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² часто блокируСтся ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°ΠΌΠΈ бСзопасности ΠΈΠ»ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΌΠΈ ограничСниями.

Π–ΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» внСшнСго ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ контролируСтся вашим ΠΊΠΎΠ΄ΠΎΠΌ. Π’Ρ‹ обязаны явно ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ соСдинСниС ΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅ явно Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΠ‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅() ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ процСсс Excel останСтся Π²ΠΈΡΠ΅Ρ‚ΡŒ Π² диспСтчСрС Π·Π°Π΄Π°Ρ‡ Π΄Π°ΠΆΠ΅ послС закрытия 1Π‘. Π­Ρ‚ΠΎ классичСская ошибка Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ², которая со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π·Π°Π±ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ сСрвСра ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ станции.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ внСшним прилоТСниям

Для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с внСшним ПО ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ встроСнная функция Новый COMΠžΠ±ΡŠΠ΅ΠΊΡ‚. Бинтаксис прост, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ указания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° (ProgID) Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ прилоТСния. Π­Ρ‚ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² рССстрС Windows ΠΏΡ€ΠΈ установкС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ софта.

Рассмотрим Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ тСкстовому процСссору. Код Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌ контСкстом ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий Ρ„ΠΎΡ€ΠΌΡ‹.

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

WordApp = Новый COMΠžΠ±ΡŠΠ΅ΠΊΡ‚("Word.Application");

WordApp.Visible = Π˜ΡΡ‚ΠΈΠ½Π°; // Π”Π΅Π»Π°Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Doc = WordApp.Documents.Add();

Selection = WordApp.Selection;

Selection.TypeText("ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠΈΠ· 1Π‘!");

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ошибка ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Word: " + ОписаниСОшибки());

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΌΡ‹ создали ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ прилоТСния, сдСлали Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ WordApp Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ…Ρ€Π°Π½ΠΈΡ‚ ссылку Π½Π° ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ Word. Π§Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ доступ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ выдСлСния (Selection), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ эмулируСт курсор ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° срСды выполнСния

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ происходит ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΌΡƒ процСссору Excel. Π Π°Π·Π½ΠΈΡ†Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ лишь Π² ProgID ΠΈ структурС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Для Excel это часто Excel.Application. ПослС получСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° прилоТСния Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ, листами ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ ячССк, заполняя ΠΈΡ… Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· рСгистров 1Π‘.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Microsoft Word ΠΈ гСнСрация Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

Автоматизация Word β€” самый вострСбованный сцСнарий использования COM Π² 1Π‘. Π­Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€Ρ‹, счСта ΠΈ Π°ΠΊΡ‚Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ с полями для подстановки. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π³ΠΈΠ±Ρ‡Π΅, Ρ‡Π΅ΠΌ встроСнный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ табуляторов 1Π‘, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ сохраняСт слоТноС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ»Ρ‹ ΠΈ стили ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ строится ΠΏΠΎ схСмС: ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ шаблона, поиск Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов, Π·Π°ΠΌΠ΅Π½Π° ΠΈΡ… Π½Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π±Π°Π·Ρ‹, сохранСниС Π² Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅. ИспользованиС Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ (Bookmarks) Π² Word являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ зависит ΠΎΡ‚ вСрстки тСкста.

  • πŸ“„ ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ Documents.Open с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ-ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ.
  • πŸ” Поиск Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Bookmarks ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΅Ρ‘ сущСствования.
  • ✍️ Вставка тСкста ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ с сохранСниСм форматирования.
  • πŸ’Ύ Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ SaveAs2 Π² Π½ΡƒΠΆΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ (docx, pdf).

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ… Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ экрана ΠΈ пСрСсчСт Ρ„ΠΎΡ€ΠΌΡƒΠ» Π²ΠΎ врСмя выполнСния макроса. Π­Ρ‚ΠΎ ускоряСт процСсс Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π² Ρ€Π°Π·Ρ‹. Для этого Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ прилоТСния ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ свойства ScreenUpdating = Π›ΠΎΠΆΡŒ ΠΈ EnableEvents = Π›ΠΎΠΆΡŒ.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Word

Если Π²Ρ‹ заполняСтС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ тысячами строк, Π½Π΅ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ это ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ячСйкС Π² Ρ†ΠΈΠΊΠ»Π΅ с ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ COM. Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ массив Π΄Π°Π½Π½Ρ‹Ρ… Π² 1Π‘, создайтС Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² Word ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π΅Ρ‘ массивом. КаТдоС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° мСТпроцСссноС взаимодСйствиС.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ вСрсиях Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ². ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ сохранСния Π² старых вСрсиях Word (SaveAs) ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π½ΠΎΠ²Ρ‹Ρ… (SaveAs2). Если Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… мСстах ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ установлСны Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии Office, ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ вСрсии прилоТСния.

Π Π°Π±ΠΎΡ‚Π° с Excel: ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ…

ВзаимодСйствиС с Microsoft Excel Ρ‡Π΅Ρ€Π΅Π· COM позволяСт Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ срСдствами самой 1Π‘. Π­Ρ‚ΠΎ касаСтся слоТного условного форматирования, создания сводных Ρ‚Π°Π±Π»ΠΈΡ† (Pivot Tables) ΠΈ использования спСцифичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Excel для расчСтов.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль Excel построСна Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ: ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ -> Книги -> Листы -> Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹. Доступ ΠΊ ячСйкС осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· свойство Cells(строка, столбСц) ΠΈΠ»ΠΈ Range("A1").

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ 1Π‘ Аналог Π² Excel ОсновноС свойство/ΠΌΠ΅Ρ‚ΠΎΠ΄ НазначСниС
COMΠžΠ±ΡŠΠ΅ΠΊΡ‚("Excel.Application") ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Excel Workbooks ΠšΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ управлСния
Workbook Книга (Ρ„Π°ΠΉΠ») Worksheets ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для листов
Worksheet Лист Cells, Range Рабочая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…
Range Π―Ρ‡Π΅ΠΉΠΊΠ° ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΠ° Value, Formula Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ расчСт Π΄Π°Π½Π½Ρ‹Ρ…

Частая Π·Π°Π΄Π°Ρ‡Π° β€” Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° рСгистра свСдСний ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ВмСсто ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ записи Π² ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ячСйку, эффСктивнСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ свойство Value2 для Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, пСрСдавая Π² Π½Π΅Π³ΠΎ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΈΠ· 1Π‘. Π­Ρ‚ΠΎ позволяСт Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ тысячу ячССк ΠΎΠ΄Π½ΠΈΠΌ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ COM-ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Excel Π½Π° сСрвСрС 1Π‘ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи слуТбы 1Π‘ Π΅ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° запуск GUI-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ доступ ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΏΠ°ΠΏΠΊΠ°ΠΌ профиля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π‘Π΅Π· этого Excel Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π² скрытом Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ».

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ

COM-автоматизация β€” это Ρ€Π°Π±ΠΎΡ‚Π° с Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ внСшнСй срСдой. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Excel Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½, Π° лицСнзия Office β€” ΠΈΡΡ‚Π΅Ρ‡ΡŒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ вСсь ΠΊΠΎΠ΄ взаимодСйствия с внСшними ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ Π² ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°..Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ освобоТдСнию рСсурсов. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΈΠΌΠ΅Π΅Ρ‚ сборщик мусора, Π½ΠΎ ΠΎΠ½ Π½Π΅ всСгда ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ освобоТдаСт внСшниС COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π―Π²Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ соСдинСния Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ внСшний процСсс Π½Π΅ останСтся Π²ΠΈΡΠ΅Ρ‚ΡŒ Π² памяти.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΠ Π°Π±ΠΎΡ‚ΡƒΠ‘Word(WordApp)

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

Если WordApp <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

WordApp.Quit();

WordApp = НСопрСдСлСно; // ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ ссылки

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

// Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ошибки ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ, Ссли процСсс ΡƒΠΆΠ΅ ΠΌΠ΅Ρ€Ρ‚Π²

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° НСопрСдСлСно для обнулСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ сборщику мусора быстрСС ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ рСсурс большС Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ Π² Ρ†ΠΈΠΊΠ»Π°Ρ…, Π³Π΄Π΅ создаСтся мноТСство Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

πŸ’‘

Если Excel зависаСт ΠΏΡ€ΠΈ запускС ΠΈΠ· 1Π‘, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ настройки Ρ†Π΅Π½Ρ‚Ρ€Π° довСрия. Часто ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ снятиСм Π³Π°Π»ΠΎΡ‡ΠΊΠΈ "Π—Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ свСдСния ΠΎ привязкС" ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡƒΡ‚ΠΈ ΠΊ Π±Π°Π·Π΅ 1Π‘ Π² Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ располоТСния.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΈ соврСмСнныС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹

НСсмотря Π½Π° ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ COM, эта тСхнология считаСтся ΡƒΡΡ‚Π°Ρ€Π΅Π²Π°ΡŽΡ‰Π΅ΠΉ (legacy). Microsoft Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ³Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹Π΅ стандарты, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ.NET ΠΈ REST API. Π’ соврСмСнных вСрсиях 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 рСкомСндуСтся ΠΏΠΎ возмоТности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС срСдства Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ внСшниС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ‡Π΅Ρ€Π΅Π· .NET.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с офисными Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ спСциализированныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ установки ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° MS Office Π½Π° сСрвСрС. НапримСр, использованиС OpenXML SDK позволяСт Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ².xlsx ΠΈ.docx Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, манипулируя ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ XML-структурой. Π­Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π΅Π΅ Π² сСрвСрном Ρ€Π΅ΠΆΠΈΠΌΠ΅.

  • πŸš€ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: ΠŸΡ€ΡΠΌΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ (OpenXML) быстрСС COM Π½Π° порядки.
  • πŸ›‘οΈ Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ: ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ зависимости ΠΎΡ‚ графичСского интСрфСйса ΠΈ вСрсий Office.
  • ☁️ ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ: Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… конфигурациях ΠΈ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ….

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, COM остаСтся Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ, ΠΊΠΎΠ³Π΄Π° трСбуСтся ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ взаимодСйствиС, использованиС слоТных макросов VBA Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ спСцифичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Excel, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ. Π’Ρ‹Π±ΠΎΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ внСдрСния.

πŸ“Š Какой способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с офисом Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (Word/Excel)
ВстроСнныС срСдства 1Π‘ (Π’Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚)
Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.NET
Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠ΅ сСрвисы API
πŸ’‘

COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² 1Π‘ β€” это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ, Π½ΠΎ рСсурсоСмкий инструмСнт. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ… Ρ‚Π°ΠΌ, Π³Π΄Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ спСцифика MS Office, Π½ΠΎ для массовой Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΏΡ€ΡΠΌΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ 1Π‘.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ 1Π‘?

НСт, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Новый COMΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ доступа ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° для запуска Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Для Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСрвСрный ΠΊΠΎΠ΄ (Ссли сСрвСр ΠΈΠΌΠ΅Π΅Ρ‚ GUI) ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ HTTP-сСрвисов ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Excel Π½Π΅ закрываСтся послС выполнСния ΠΊΠΎΠ΄Π° Π² 1Π‘?

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π²Ρ‹ Π½Π΅ Π²Ρ‹Π·Π²Π°Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Quit() Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° прилоТСния ΠΈΠ»ΠΈ Π½Π΅ ΠΎΠ±Π½ΡƒΠ»ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ссылки Π½Π° COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π’Π°ΠΊΠΆΠ΅ процСсс ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΈΡΠ΅Ρ‚ΡŒ, Ссли Π³Π΄Π΅-Ρ‚ΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΎΡΡ‚Π°Π»Π°ΡΡŒ скрытая ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ячССк), которая Π½Π΅ Π±Ρ‹Π»Π° освобоТдСна.

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ ProgID для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ прилоТСния?

ProgID (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€) ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. Π’Π°ΠΊΠΆΠ΅ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² рССстрС Windows Π² Π²Π΅Ρ‚ΠΊΠ΅ HKEY_CLASSES_ROOT. Для стандартных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Microsoft ΠΎΠ½ΠΈ часто ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ: PowerPoint.Application, Outlook.Application.

Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΈ COM-соСдинСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ 1Π‘?

Π‘Π°ΠΌΠΎ ΠΏΠΎ сСбС использованиС COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ 1Π‘. Однако для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ лицСнзия Π½Π° внСшнСС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Microsoft Office), установлСнноС Π½Π° машинС, Π³Π΄Π΅ выполняСтся ΠΊΠΎΠ΄. На сСрвСрС это ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΈ тСхничСскиС слоТности.

БСзопасно Π»ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π° сСрвСрС 1Π‘?

Π­Ρ‚ΠΎ Π½Π΅ рСкомСндуСтся для высоконагруТСнных систСм. Запуск GUI-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Word, Excel) Π½Π° сСрвСрС ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ слуТбы 1Π‘, зависанию сСссий ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ с ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Для сСрвСрной Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π±Π΅Π· запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.