Anzeige
Archiv - Navigation
144to148
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
144to148
144to148
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Probleme mit OLEObjects

Probleme mit OLEObjects
07.08.2002 09:06:06
Dirk
Habe gerade mit EXCEL 2002 begonnen und „hänge“ nun bei zwei Problemen mit OLEObjects.

1. Wenn ich nach dem Ausführen des ersten Makros das Spreadsheet schliesse, werde ich nicht nur gefragt, ob ich die Änderungen im Spreadsheet sichern möchte, sondern jeweils auch, ob ich die Änderungen in den eingebetteten OLEObjects (XLS-Dateien) sichern möchte??
Verstehe ich nicht, da ich doch die Dateien als OLEObjects mit Link:=False einbette und den Wert aus dem Feld J44 nur auslese. Woraus sind die überflüssigen Meldungen begründet und wie werde ich sie los?

Makro 1:

Sub Alltogether()
Dim fileToOpen As Variant
Dim linkToOpen As Variant
'Stand 05.08.02 D.Schwaner
'Tastenkombination: Strg+z
Select Case Selection.ColumnWidth
Case 10.71
Selection.ColumnWidth = 27.71
Case Else
End Select
'Anzeigen aller XLS-Dateien im Unterverzeichnis zur Auswahl
fileToOpen = Application.GetOpenFilename("XLS Files (*.XLS), *.XLS")
'Wegspeichern des Links, damit das einzubettende OLEObject gefunden wird
linkToOpen = fileToOpen
'Der Dateiname wird als Variable für das IconLabel benötigt
fileToOpen = Dir(fileToOpen)
'Einbetten der ausgewählten Datei als OLEObject, wenn xlicons.exe im gleichen Verzeichnis
'wie die Excel-Datendateien
ActiveSheet.OLEObjects.Add(Filename:=linkToOpen, Link:=False, DisplayAsIcon:= _
True, IconFileName:= _
"xlicons.exe", _
IconIndex:=0, IconLabel:=fileToOpen).Select
'Zelle J44 auswerten
ActiveCell.Formula = "=[" & fileToOpen & "]Tätigkeitsnachweis!J44"
'Verknüpfungen in Wertkopie umwandeln
ActiveWorkbook.BreakLink Name:=linkToOpen, Type:=xlExcelLinks
MsgBox "Gesamtstundenwert aus der Datei " & fileToOpen & " :", vbInformation
End Sub

2.) Sind die OLEObjects im Spreadsheet drin, sollen Sie nach einiger Zeit wieder entfernt werden. Das zweite Makro zeigt mir zwar die Anzahl der OLEObjects im Spreadsheet korrekt an, stolpert dann aber beim Löschen in unregelmäßigen Abständen in folgende Fehlermeldung:
‚Run-time error ‚1004’: Unable to get the OLEObjects property of the Worksheet class”,
Mit unregelmäßigen Abständen meine ich, z.B. manchmal werden 4 von 10 OLEObjects gelöscht, dann die Fehlermeldung. Erneuter Aufruf des Makro, wieder zwei oder drei gelöscht , dann Fehlermeldung etc. Irgendwie werden letztlich alle gelöscht, aber wie klappts, ohne die Fehlermeldungen?

Makro 2

Sub OLEObjekte_löschen()
'Makro zum Löschen aller eingebetteten OLEObjects im aktiven Sheet.
'Stand 05.08.02 D.Schwaner
'Tastenkombination: Strg+k
Dim i As Integer
Dim n As Integer
MsgBox "Es gibt " & ActiveSheet.OLEObjects.Count & _
" OLEObjects in diesem Worksheet. Diese werden jetzt gelöscht."
n = ActiveSheet.OLEObjects.Count
For i = 1 To n
ActiveSheet.OLEObjects(i).Delete
Next i
Selection.ColumnWidth = 10.71
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Probleme mit OLEObjects
07.08.2002 12:00:04
L.Vira
For i = n To 1 Step -1
ActiveSheet.OLEObjects(i).Delete
Next i
Re: Probleme mit OLEObjects
07.08.2002 12:26:23
Dirk
Super, L.Vira, das Problem mit Makro 2 ist gelöst. Vielleicht hat ja auch noch jemand eine Idee zum Problem mit Makro 1.
Dirk
Re: Probleme mit OLEObjects
07.08.2002 12:26:51
Dirk
Super, L.Vira, das Problem mit Makro 2 ist gelöst. Vielleicht hat ja auch noch jemand eine Idee zum Problem mit Makro 1.
Dirk
Ist mir zu kompliziert...oT
07.08.2002 13:41:04
L.Vira
oT

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige