Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
736to740
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
736to740
736to740
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Prüfen, ob WORD 10.0 Objekt Library aktiviert ist

Prüfen, ob WORD 10.0 Objekt Library aktiviert ist
27.02.2006 12:59:30
Thias
Mahlzeit!
Ich habe eine Frage zur WORD Objekt Library.
Da ich in meinem Makro eine WORD.DOT Datei öffne und dann Werte aus Zellen an Textmarken schreiben möchte, muss ich unter Verweise die Microsoft WORD 10.0 Objekt Library aktivieren.
Ist es möglich per VBA zu überprüfen, ob die Library aktiviert ist, und wenn nicht, diese dann zu aktivieren? Oder muss das stets von Hand durchgeführt werden?
Würde mich über einen Tipp sehr freuen!
Gruß Thias

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen, ob WORD 10.0 Objekt Library aktiviert
27.02.2006 13:16:33
Reinhard
Hi Thias,
Code gehört in "DieseArbeitsmappe", auf 10.0 musste dir anpassen
Option Explicit
Private Sub Workbook_Open()
Dim Verweis, vorh As Boolean, Vbeobj As Object
Set Vbeobj = Application.VBE.ActiveVBProject.References
For Each Verweis In Vbeobj
If Verweis.fullpath = "C:\Programme\Microsoft Office\Office\MsWord9.olb" Then
vorh = True
Exit For
End If
Next Verweis
If vorh = False Then Vbeobj.Addfromfile "MsWord9.olb"
End Sub
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Prüfen, ob WORD 10.0 Objekt Library aktiviert
27.02.2006 13:32:56
Thias
Hallo,
vielen Dank Euch beiden für die schnelle Hilfe!
@Reinhardt:
"DieseArbeitsmappe"? Meinst Du damit tatsächlich das File "DieseArbeitsmappe", oder das File, in dem ich das Makro nutze?
Gibt es bei den beiden Code's einen wesentlichen, zu beachtenden Unterschied? Mal abgesehen davon, dass sie zumindest für mich völlig unterschiedlich aussehen. :-)
Gruß Thias
Anzeige
AW: Prüfen, ob WORD 10.0 Objekt Library aktiviert
27.02.2006 13:45:29
Reinhard
Hi Thias,
Alt+F11. Links siehst du dann für jede geöffnete Datei die Module "DieseArbeitsmappe", "Tabelle1", "Tabelle2" usw., ggfs dafür wie beim Explorer auf "+" klicken.
Doppelklick dort auf "DieseArbeitsmappe" der gewünschten Datei, dort den Code reinkopieren.
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Prüfen, ob WORD 10.0 Objekt Library aktiviert
27.02.2006 14:01:12
Thias
Hi Reinhard,
leider meckert Excel beim Öffnen der Datei sofort:
Laufzeitfehler '1004'
Die Methode 'VBE' für das Objekt '_Application' ist fehlgeschlagen
Im Editor wird dann
Set Vbeobj = Application.VBE.ActiveVBProject.References
markiert.
Was kann ich tun?
Anzeige
AW: Prüfen, ob WORD 10.0 Objekt Library aktiviert
27.02.2006 14:18:18
Reinhard
Hi Thias,
ich habe es mit Xl2000 getestet.
Ich habe folgende Verweise im Editor gesetzt:
Visual Basic for Applications
Microsoft Excel 9.0 Object Library
Ole Automation
Microsoft Office 9.0 Object Library
Microsoft Forms 2.0 Object Library
Vielleicht liegt es daran?
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Prüfen, ob WORD 10.0 Objekt Library aktiviert
27.02.2006 14:09:17
Peter
Servus,
ich glaube der einzige Unterschied ist, das du mit Reinhardts Code direkt auf die Word 9.0 Objektbibliothek zugreifst, wärend meiner den Verweis auf v10 direkt setzt. Bin mir aber nicht ganz sicher.
Zu deiner zweiten Frage, es im Prinzip egal ob du den Code direkt im Workbook_Open ereignis setzt, wichtig ist nur das er vor starten deines Makros ausgeführt wird um Fehler zu vermeiden.
Zu der Fehlermeldung bezieht sich die auf Reinhardts Code oder auf meinen. Bei meinem würds mich wundern, weil ich den mit anderen Verweisen genauso fehlerfrei einsetze.
MfG Peter
Anzeige
AW: Prüfen, ob WORD 10.0 Objekt Library aktiviert
27.02.2006 14:18:18
Thias
Hallo Peter,
die Fehlermeldung bezog sich auf den Code von Reinhard.
Bei Dir kommt leider auch eine Fehlermeldung! Allerdings nur, wenn ich den Code in "DieseArbeitsmappe" kopiere, und dann eigenständig ausführe.
Ansonsten passiert garnix, d.h. auch der Verweis wird nicht gesetzt (habe ihn extra vorher deaktiviert).
AW: Prüfen, ob WORD 10.0 Objekt Library aktiviert
27.02.2006 13:18:17
Peter
Servus,
so müsste es klappen.


Public Sub verweise_einfügen()
    Dim intIndex As Integer, blnOK As Boolean
    With ThisWorkbook.VBProject.References
        For intIndex = 1 To .Count
            If .Item(intIndex).GUID = _
                "{00020905-0000-0000-C000-000000000046}" Then
                If .Item(intIndex).IsBroken Then
                    .Remove .Item(intIndex)
                    .AddFromGuid GUID:= _
                        "{00020905-0000-0000-C000-000000000046}", _
                        Major:=8, Minor:=2
                    blnOK = True
                End If
            End If
        Next
        If Not blnOK Then
            .AddFromGuid GUID:= _
                "{00020905-0000-0000-C000-000000000046}", _
                Major:=8, Minor:=2
        End If
    End With
End Sub


MfG Peter
Anzeige
AW: Prüfen, ob WORD 10.0 Objekt Library aktiviert
27.02.2006 13:21:17
Peter
Servus,
ein Else vergessen. Sry Reinhardt nicht aktualisiert, aber wenn schon gepostet dann richtig ;-)


Public Sub verweise_einfügen()
    Dim intIndex As Integer, blnOK As Boolean
    With ThisWorkbook.VBProject.References
        For intIndex = 1 To .Count
            If .Item(intIndex).GUID = _
                "{00020905-0000-0000-C000-000000000046}" Then
                If .Item(intIndex).IsBroken Then
                    .Remove .Item(intIndex)
                    .AddFromGuid GUID:= _
                        "{00020905-0000-0000-C000-000000000046}", _
                        Major:=8, Minor:=2
                    blnOK = True
                Else: blnOK = True
                End If
            End If
        Next
        If Not blnOK Then
            .AddFromGuid GUID:= _
                "{00020905-0000-0000-C000-000000000046}", _
                Major:=8, Minor:=2
        End If
    End With
End Sub


MfG Peter
Anzeige
AW: Prüfen, ob WORD 10.0 Objekt Library aktiviert
27.02.2006 14:10:02
Thias
Hallo Peter,
wenn ich Deinen Code nun in das Makro einfüge, meckert der Compiler an der Stelle
With ThisWorkbook.VBProject.References
in der Form:
Laufzeitfehler '1004'
Die Methode 'VBE' für das Objekt '_Application' ist fehlgeschlagen
Wenn ich den Code, wie bei Reinhart, in "DieseArbeitsmappe" kopiere, geschieht garnix!
Watt nu?
AW: Prüfen, ob WORD 10.0 Objekt Library aktiviert
27.02.2006 14:17:21
Peter
Servus,
sieht das bei dir auch so aus, ich glaube nicht ;-)
Userbild
P.S.: Das war eine Erklärung
MfG Peter
AW: Prüfen, ob WORD 10.0 Objekt Library aktiviert
27.02.2006 14:40:45
Thias
Hallo Peter,
Das Erste, was mir dazu einfällt: looooooooooooooool
Der ist gut!
Jetzt ernsthaft:
So funktioniert das Makro dann anstandslos. Die Option war tatsächlich deaktiviert.
Die Frage wäre nur, wenn ich dieses Makro als erstes ausführen muss, ich aber nur ein Makro hätte, wie sollte ich dann das Makro vorher starten und ausführen lassen? Zum Glück habe ich in diesem Fall noch andere Makros, die vorher laufen, so dass ich dieses dort integrieren kann. ABer was wäre, wenn nicht?
Zweite Frage:
Was hat sich den MS dabei gedacht? Muss ich jetzt bei 100 Rechner jedesmal einzeln Unter "Sicherheit" die Option "Zugriff auf Visual Basic vertrauen" per Hand aktivieren?
Keine gute Lösung. Mann müsste nun also ein Makro für das Makro für das Makro haben... *g*
Super Sache! Falls Du dafür auch noch eine Lösung in petto haben solltest, bin ich überzeugt, Du bist Geheimagent der Firma MS! ;-)
Gruß Thias
Anzeige
AW: Prüfen, ob WORD 10.0 Objekt Library aktiviert
27.02.2006 14:48:08
Peter
Servus,
zu erstens siehe meine Bsp. Datei
zu zweitens keine Chance das ist eine Sicherheitsoption in xls ab vers. xp.
Die kannst du nicht so leicht aushebeln, würde dem ganzen Sicherheitsgedanken ja auch atabsurdum führen ;-) gelle.
Bin im übrigen mit Sicherheit nicht von dieser ..Dhdhd... Firma.
Turnaround, weil ich jetzt keine Zeit mehr habe.
Blende alle Blätter bis auf eins aus, darauf schreibst du die Anweisung das die Option aktiviert werden muss.
Lass mein Makro laufen, prüfen auf den Fehler der erzeugt wird, kein Fehler du blendest das eine Blatt mit dem Hinweiß aus und alle anderen dafür ein, oder andersrum.
Sry aber ne andere Möglichkeit sehe ich nicht.
MfG Peter
Anzeige
AW: Prüfen, ob WORD 10.0 Objekt Library aktiviert
27.02.2006 14:51:44
Thias
Okay - Besten Dank für Deine Mühen!
AW: kleines Bsp.
27.02.2006 15:45:32
Reinhard
Hallo Peter,
nachstehend dein Code.
Bei mir, Xl2000 kommt Laufzeitfehler mit längerer Nummer und Objektbilbliothek nicht registriert in der Zeile:
.Remove .Item(intIndex)
On error goto Fehler wird nicht ausgeführt, mit F8 getestet.
Gruß
Reinhard
Option Explicit
Private Sub Workbook_Open()
Dim intIndex As Integer, blnOK As Boolean
Dim wks As Worksheet
On Error GoTo Fehler
With ThisWorkbook.VBProject.References
For intIndex = 1 To .Count
If .Item(intIndex).GUID = _
"{00020905-0000-0000-C000-000000000046}" Then
If .Item(intIndex).IsBroken Then
.Remove .Item(intIndex)
.AddFromGuid GUID:= _
"{00020905-0000-0000-C000-000000000046}", _
Major:=8, Minor:=2
blnOK = True
Else: blnOK = True
End If
End If
Next
If Not blnOK Then
.AddFromGuid GUID:= _
"{00020905-0000-0000-C000-000000000046}", _
Major:=8, Minor:=2
End If
End With
For Each wks In ThisWorkbook.Worksheets
If wks.Name <> "Hinweis" Then _
wks.Visible = xlSheetVisible
Next
Sheets("Hinweis").Visible = xlSheetVeryHidden
Exit Sub
Fehler:
If Err.Number = 1004 Then
Sheets("Hinweis").Visible = -1
For Each wks In ThisWorkbook.Worksheets
If wks.Name <> "Hinweis" Then _
wks.Visible = xlSheetVeryHidden
Next
End If
End Sub

Anzeige
AW: kleines Bsp.
27.02.2006 15:52:31
Peter
Servus,
dann hab ich keine Ahnung mehr, bei mir funtzt das Problemlos.
Habs ja getestet.
MfG Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige