Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1588to1592
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

In WorkbookOpen erkenne, ob Excel aus Word gestart

In WorkbookOpen erkenne, ob Excel aus Word gestart
04.11.2017 12:08:30
Norman
Hi,
kann man irgendwie in WorkbookOpen erkennen, ob Excel aus einem Word Dokument (eingebettetes Objekt) gestartet wurde? Hintergrund: Ich habe eine XLAM, die in XLSTART liegt und bei jedem Start von Excel geöffnet wird. Das klappt auch wunderbar, außer wenn ein Excel-Objekt in einer Word Datei doppelt angeklickt wird, dann bekomme ich eine Fehlermeldung, dass Excel nicht geöffnet werden kann.
Wenn ich jetzt meinen Startup-Code in WorkbookOpen rausnehme (Exit Sub), dann klappt alles ganz normal. In meinem Code ist also irgendwas, was Probleme bereitet. Ich brache das Addin bei eingebetteten Objekten aber nicht, insofern ist die einfachste Lösung für mich, wenn ich erkennen könnte, dass Excel über Word gestartet wurde. Dann würde ich einfach ein Exit Sub machen und gut wärs.
Hat jemand einen Tipp?
Viele Grüße
Norman

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In WorkbookOpen erkenne, ob Excel aus Word gestart
04.11.2017 12:45:52
Werner
Hallo Norman,
ob das geht weiß ich nicht, und wenn ja, dann weiß ich nicht wie.
Aber vielleicht hilft es dir ja das Pferd von hinten aufzuzäumen.
Sprich du kannst ja prüfen ob Word offen ist und dann entsprechend reagieren. Das funktioniert natürlich nicht wenn bei dir häufig/immer Word und Excel gleichzeitig offen sind.
Option Explicit
Public Sub aaa()
Dim boWordVorhanden As Boolean
Dim Word_Application As Object
On Error GoTo Ausstieg
'Prüfen ob Word geöffnet ist, wenn nein läuft das in
'einen Fehler
Set Word_Application = GetObject(Class:="Word.Application")
boWordVorhanden = True
If boWordVorhanden Then
'hier statt der Messagebox
'dann dein Code mit dem
'Exit Sub weil Word offen
MsgBox "Word ist offen."
End If
Exit Sub
Ausstieg:
'hier anstatt der Messagebox
'dein normaler Code ohne Exit Sub
MsgBox "Word ist nicht offen."
On Error GoTo 0
End Sub
Gruß Werner
Anzeige
AW: In WorkbookOpen erkenne, ob Excel aus Word gestart
04.11.2017 16:41:46
Norman
Hi Werner,
danke für die Idee, aber es ist genau wie Du vermutest: Word ist auch sonst offen, d.h. das hilft leider nicht.
Gruß
Norman
AW: In WorkbookOpen erkenne, ob Excel aus Word gestart
04.11.2017 18:08:59
Zwenn
Hallo Norman,
ich habe keine Ahnung, wie man Excel aus Word heraus startet. Aber vielleicht kannst Du Excel einen Startparameter mitgeben, den Du auswerten kannst. Soweit ich das auf die Schnelle gesehen habe, hängt das aber immer mit einer zu öffnenden Excel Datei zusammen. Aber das ist dochwohl der Sinn des Öffnens oder?
Schau Dir mal diesen Beitrag an:
https://www.herber.de/forum/archiv/652to656/654769_Parameter_beim_Aufruf_von_Excel.html#654969
Viele Grüße,
Zwenn
Anzeige
AW: In WorkbookOpen erkenne, ob Excel aus Word gestart
04.11.2017 19:04:30
Norman
Das hilft leider auch nicht. Öffne mal Word, geh auf Einfügen, Objekt, Excel Tabellenblatt. Dann hast Du die Konstellation von der ich spreche. Da helfen mir die Parameter leider nicht weiter. Trotzdem danke.
Viele Grüße
Norman
AW: In WorkbookOpen erkenne, ob Excel aus Word gestart
04.11.2017 19:05:02
Norman
Mist, nicht auf Offen gesetzt.
AW: In WorkbookOpen erkenne, ob Excel aus Word gestart
04.11.2017 19:30:11
Zwenn
Hallo Norman,
wenn ich ein Excel Worksheet so einbetten will, wie Du geschrieben hast, geht ja der Dialog auf, in dem man aussucht, was man einbestten will. Da gibt es einen zweiten Tab 'Aus Datei erstellen'. Nun weiß ich natürlich nicht, welchen Umfang Dein Dokument hat und wieviele Excel Sheets Du schon eingebettet hast. Du könntest aber über eine Dateieinbettung entweder eine.xlsm oder .xlsb Datei auswählen.
In so einer Datei kannst Du VBA Code hinterlegen. Auf diese Weise muss sich doch dann prüfen lassen, ob aus Word geöffnet wurde oder nicht.
Falls ich Deine Fragestellung aber richtig interpretiere, kannst Du auch mal das hier ausprobieren:
https://answers.microsoft.com/de-de/office/forum/office_2016-officeapps/in-word-eingebettete-excel-kalkulationstabelle/fb7c31db-c291-4e6c-9ec3-378d5d4b0ad6
Viele Grüße,
Zwenn
Anzeige
AW: In WorkbookOpen erkenne, ob Excel aus Word gestart
04.11.2017 19:44:19
Norman
Das Problem ist nicht die Tabelle selbst, die eingebettet ist, sondern das ADDIN was ich über den Ordner XLSTART eingebunden habe. Wie gesagt, der Code in dem ADDIN führt zu dem beschriebenen Problem.
Gruß
Norman
AW: In WorkbookOpen erkenne, ob Excel aus Word gestart
04.11.2017 19:45:15
Norman
Und wieder "offen" vergessen...
AW: In WorkbookOpen erkenne, ob Excel aus Word gestart
07.11.2017 11:18:17
EtoPHG
Hallo Norman,
Wir kennen den Code deines ADD-In ja nicht.
Grundsätzlich müsste man an der Eigenschaft .IsInplace eines Workbooks feststellen, woher die Mappe stammt:
  • True = Mappe ist eingebettet in anderes Objekt (z.B. Word)

  • False = Mappe ist 'eigenständig'

  • Gruess Hansueli
    Anzeige
    Es gibt - für solche Fälle - einen...
    07.11.2017 11:21:12
    Case
    Hallo Norman, :-)
    ... Umweg - alle Infos dazu kann man sich aus dem Netz ziehen, deshalb hier nur Stichwortartig: ;-)
    * Doppelklickereignis im Worddokument abfangen (Makro in Worddatei)
    * Textdatei im Tempverzeichnis (Environ("Temp")) schreiben
    * Im Addin Vorhandensein dieser Datei prüfen
    * Wenn Ja - Code nicht ausführen (Exit Sub oder End) UND Textdatei löschen
    * Wenn nein - Code einfach weiterlaufen lassen

    Servus
    Case

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige