Component Object Model (COM)

Des Öfteren kommt es im Support zu Meldungen, dass auf einmal eine über die COM-Schnittstelle eingebundene MS Office Anwendungen nicht mehr wie erwartet reagiert.

Die COM-Schnittstelle (Abkürzung für Component Object Model) ist eine von Microsoft entwickelte Plattformtechnik, um unter dem Betriebssystem Windows Interprozesskommunikation und dynamische Objekterzeugung zu ermöglichen.
Dies bedeutet unter anderem, dass man aus der eigenen Anwendung heraus mit Hilfe der COM-Schnittstelle, andere Anwendungen (meist MS Office Anwendungen wie Word, Excel, Outlook, Powerpoint usw.), fernsteuern kann.

Prinzipiell ist die COM-Schnittstelle eine Weiterentwicklung der OLE Architektur:

• Object Linking and Embedding (OLE1)

• Object Model (OLE2) (COM Standard)

Folgendes Diagramm veranschaulicht diesen Zusammenhang:

In CONZEPT 16 wurde das Component Object Model mit der Version 4.5.00 im Jahre 2002 eingeführt.

Infolgedessen lassen sich durch Zuhilfenahme der COM-Schnittstelle viele Aufgaben wie zum Beispiel Serienbrieffunktionen oder Emailfunktionen einfach in der eigenen Anwendung realisieren.

Kommt es jetzt aber, wie eingangs erwähnt, zu dem Effekt, dass eingebundene MS Office Anwendungen nicht mehr wie erwartet reagieren, dann hängt dies meistens mit einem zwischenzeitlich durchgeführten Windows Office Update auf eine neuere Version zusammen. Denn oftmals kommt es bei einem Windows Office Update vor, dass sich beispielsweise Word-Basic Befehle von einer Version auf die andere ändern.

Daher ist es vorab meist sinnvoll, die aktuelle eingesetzte Version des Office-Programms zu ermitteln, um dann dementsprechend auf die jeweilige Versionsunterschiede reagieren zu können.

 9.0   Excel 2000
 10.0   Excel XP/2002
 11.0   Excel 2003
 12.0   Excel 2007
 13.0   ausgelassen wegen “Triskaidekaphobie” – Angst vor Unglückszahl 13 !!
 14.0   Excel 2010

Um zum Beispiel aus CONZEPT 16 heraus abzufragen, welche Excel Version aktuell auf dem Computersystem installiert ist, könnte die unten aufgeführte Routine verwendet werden.
Abhängig von der ermittelten Excel Version ist es dann im weiteren Verlauf auch möglich, den zu verwendenden Befehlssatz festzulegen.


// *******************************************************************
// *                                                                 *
// *  COM - Excel Versions Abfrage                                   *
// *                                                                 *
// *******************************************************************
@A+
@C+
main()
local
{
  tExcel.App         : handle;
  tExcel.Version     : alpha;
}
{
  // Verbindung zu Excel herstellen
  tExcel.App # ComOpen('Excel.Application', _ComAppCreate);
  // Excel Version ermitteln
  tExcel.Version # tExcel.App->cpaVersion;
  // Excel Version Anzeigen
  WinDialogBox(
    0,
    'Excel',
    'Sie verwenden Excel Version ' +
    tExcel.Version + '!', 0, 0, 0
  );
  // Excel-Befehle je nach Version festlegen
  if (CnvFA(tExcel.Version, _FmtNumPoint) >= 12.0)
  {
    // ...
  }
  else
  {
    // ...
  }
  // Verbindung zu Excel schließen
  tExcel.App->ComClose();
}

Klicken Sie hier, um die Nutzungsbedingungen für unseren Blog zu lesen.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Leave the field below empty!

Wünsche, Fragen oder Feedback sind willkommen:

Nutzungsbedingungen der Kommentarfunktion im Blog

1. Allgemeines

Vectorsoft AG („Anbieter“) stellt für Internetnutzer („Nutzer“) auf der Website
vectorsoft.de einen öffentlichen Blog bereit. Der öffentliche Blog dient dem
Informations- und Gedankenaustausch. Die Nutzer, welche sich mit Beiträgen und
Kommentaren beteiligen, verpflichten sich dazu, die Blog-Nutzungsbedingungen
einzuhalten und tragen die Verantwortung für die Richtigkeit und Angemessenheit
sowie Freiheit von Rechtsverletzungen ihrer Beiträge. Mit Nutzung der
Kommentarfunktion in unserem Blog akzeptieren Sie diese Nutzungsbedingungen.

2. Netiquette

Wir bitten Sie von persönlichen Angriffen und Provokationen aufgrund anderer
Meinungen abzusehen. Bitte argumentieren Sie sachlich und bewegen Sie sich auf
der Basis einer konstruktiven Diskussionskultur. Ihr Kommentar sollte stets im
Zusammenhang mit dem jeweiligen Thema sein, um Ausschweifungen in andere
Themenbereiche zu vermeiden. Das mehrmalige Posten desselben Kommentars
oder mehrerer ähnlicher Kommentare ist nicht erlaubt.

3. Verbot rechtswidriger Inhalte

Mit Absenden Ihres Kommentars bestätigen Sie, dass Sie keine Urheberrechte oder andere Rechte Dritter verletzen. Volksverhetzende, rassistische Äußerungen, Anleitungen zu Straftaten und deren Verherrlichung, Gewaltdarstellungen, pornografische Inhalte und Äußerungen, die Persönlichkeitsrechte verletzen sind untersagt.

4. Keine Werbung

Die Nutzung der Kommentarfunktion ist für kommerzielle oder parteipolitische
Zwecke nicht erlaubt. Werbliche Beiträge aller Art werden von uns umgehend
gelöscht.

5. Angaben zum Namen

Bei der Eingabe Ihres Namens achten Sie auf die zuvor genannten Grundsätze.

6. Quellenangaben

Bitte geben Sie bei der beabsichtigten Veröffentlichung von Zitaten oder Beiträgen
Dritter die jeweiligen Quellen an und erläutern dessen Bezug zum Blogbeitrag.

7. Verstoß gegen die Nutzungsbedingungen

Beiträge, die gegen diese Richtlinie verstoßen werden umgehend gelöscht. Sollten
Sie selbst Verstöße bemerken, so senden Sie uns bitte den Link des betreffenden
Kommentars per E-Mail an . Wir weisen ausdrücklich daraufhin, dass wir einzelne Nutzer bei wiederholten oder schweren Verstößen gegen diese
Nutzungsbedingungen ausschließen werden.

Stand: Sept. 2024

Deine Trial Version - jetzt anfordern!

Teste yeet - unverbindlich und kostenfrei

IHRE EVALUIERUNGSLIZENZ - JETZT ANFORDERN!

TESTEN SIE DIE CONZEPT 16 VOLLVERSION - UNVERBINDLICH und KOSTENFREI

Melden Sie sich bei unserem Newsletter an

Anrede*
     
Zustimmung zur Datenverarbeitung gem. DSGVO*



WordPress Cookie-Hinweis von Real Cookie Banner