Hallo API-Spezialisten,
seit der Umstellung auf SolidWorks 2010 in einer Win7-Umgebung haben unsere User hin und wieder Probleme mit in SW-Zeichnungen eingebetteten Excel-Tabellen (OLE-Objekte ohne Dateiverknüpfung). Von daher möchte ich ein SW-Makro zur Verfügung stellen, das die Inhalte aller OLE-Objekte einer SW-Zeichnung ausliest und anschließend daraus neue Tabellen im SW-Basisformat <Allgemeine Tabelle> erstellt (siehe Anhang).
Der Zugriff auf die OLE-Objekte über die GetOLEObjects-Methode funktioniert auch tadellos, nur die SetActive-Methode der SwOLEObject-Verknüpfung mitsamt der folgenden SaveAs-Methode bereitet Probleme : manchmal funktioniert sie (Aktivierung OK, Speichervorgang OK), manchmal funktioniert sie nur teilweise (Aktivierung OK, kein Speichervorgang) und manchmal funktioniert sie gar nicht (keine Aktivierung, kein Speichervorgang).
OleObjekt = swModelDocExt.GetOLEObjects(swOleObjectOptions_GetOnCurrentSheet)
BoolStatus = OleObjekt(i).Select(True) 'Selektierung OLE-Objekt
Set ExcelWbk = OleObjekt(i).SetActive(True) 'Aktivierung OLE-Objekt
ExcelWbk.SaveAs ("R:\Work\Test-" & CStr(i) & ".xls") 'Speicherung in Excel-Datei
Dabei erhalte ich die folgenden Fehlermeldungen :
bei teilweiser Funktion : Laufzeitfehler 1004 - Die Methode 'SaveAs' für das Objekt '_Workbook' ist fehlgeschlagen
bei fehlender Funktion : Laufzeitfehler 91 - Objektvariable oder With-Blockvariable nicht festgelegt
Wer kennt eine Lösung für dieses Problem ? Oder gibt es evt. eine andere Methode zum Auslesen der Tabellen-Inhalte ? Im Voraus besten Dank für jede Unterstützung.
Gruß Frank
------------------
Lit
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP